module Control.Alternative.Vector where import Data.Vector (Vector, cons, empty) import Control.Applicative (Alternative ((<|>))) someV :: Alternative f => f a -> f (Vector a) someV v = cons <$> v <*> manyV v manyV :: Alternative f => f a -> f (Vector a) manyV v = someV v <|> pure empty