listToMaybe package:slist

Returns Nothing on an empty list or Just a where a is the first element of the slist.

Examples

Basic usage:
>>> slistToMaybe mempty
Nothing
>>> slistToMaybe (one 42)
Just 42
>>> slistToMaybe (cons 1 $ cons 2 $ one 3)
Just 1
Laws :
slistToMaybe . maybeToList ≡ id
Reverse is right only on singleton/empty lists
maybeToList . slistToMaybe {empty, singleton slist} ≡ {empty, singleton slist}