module Utils.Maybe exposing ( isJust , cat , toList , orElse ) isJust : Maybe a -> Bool isJust maybe = case maybe of Just _ -> True Nothing -> False cat : List (Maybe a) -> List a cat = List.foldr (\mb xs -> case mb of Just x -> x :: xs Nothing -> xs ) [] toList : Maybe a -> List a toList mb = case mb of Just a -> [a] Nothing -> [] orElse : Maybe a -> Maybe a -> Maybe a orElse mb1 mb2 = case mb1 of Just x -> Just x Nothing -> mb2