-- type constructor
data ParseResult a

-- constructors:
OkP :: a -> ParseResult a
FailP :: String -> ParseResult a