-- | Attempt to extract the left-most element from a container, and a version of the container without that element.
--
-- >>> uncons []
-- Nothing
--
-- >>> uncons [a, b, c]
-- Just (a,[b,c])
uncons :: Cons s s a a => s -> Maybe (a, s)
uncons = simply preview _Cons
uncons :: Cons s s a a => s -> Maybe (a, s)
uncons = simply preview _Cons
uncons = simply preview _Cons