Factored parsec to reuse haskellVariation