optional :: Alternative f => f a -> f (Maybe a)
optional v = Just <$> v <|> pure Nothing
optional :: Alternative f => f a -> f (Maybe a)
optional v = Just <$> v <|> pure Nothing
optional v = Just <$> v <|> pure Nothing