monadic parser combinator library for C#