>>> listToMaybe [] Nothing
>>> listToMaybe [9] Just 9
>>> listToMaybe [1,2,3] Just 1Composing maybeToList with listToMaybe should be the identity on singleton/empty lists:
>>> maybeToList $ listToMaybe [5] [5] >>> maybeToList $ listToMaybe [] []But not on lists with more than one element:
>>> maybeToList $ listToMaybe [1,2,3] [1]
>>> slistToMaybe mempty Nothing
>>> slistToMaybe (one 42) Just 42
>>> slistToMaybe (cons 1 $ cons 2 $ one 3) Just 1Laws :
slistToMaybe . maybeToList ≡ idReverse is right only on singleton/empty lists
maybeToList . slistToMaybe {empty, singleton slist} ≡ {empty, singleton slist}