example 2: monadic parser
merged