Playing around with parser combinators in F#