then combinator corresponds to sequencing in BNF. The parser (then(p1, p2)) recognises anything that p1 and p2 would if placed in succession.
then
(then(p1, p2))
p1
p2