{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface Maybes where data Labda a = Hamna | Ni a data MaybeErr a b = Succeeded a | Failed b allMaybes :: [Labda a] -> Labda [a] assocMaybe :: Eq a => [(a, b)] -> a -> Labda b catMaybes :: [Labda a] -> [a] failMaB :: b -> MaybeErr a b failMaybe :: Labda a firstJust :: [Labda a] -> Labda a mapMaybe :: (a -> Labda b) -> [a] -> Labda [b] maybeToBool :: Labda a -> Bool mkLookupFun :: (a -> a -> Bool) -> [(a, b)] -> a -> Labda b returnMaB :: a -> MaybeErr a b returnMaybe :: a -> Labda a thenMaB :: MaybeErr a c -> (a -> MaybeErr b c) -> MaybeErr b c thenMaybe :: Labda a -> (a -> Labda b) -> Labda b