-parse :: Parser a -> ByteString -> Maybe (a, ByteString)
-parse p input = case runState (runParser p) input of
- (Just a , input') -> Just (a, input')
- (Nothing, _ ) -> Nothing
+parse :: Parser a -> ByteString -> (ParserResult a, ByteString)
+parse p input = runState (runParser p) input