G'day all.
Quoting Neil Mitchell <ndmitchell at gmail.com>:
> Yes, its the projection onto another type:
>
> [] = Nothing
> (x:xs) = Just (x, xs)
Also known as msplit:
http://www.haskell.org/haskellwiki/New_monads/MonadSplit
Cheers,
Andrew Bromage