module LinearScan.IMonad where import qualified Prelude import qualified Data.List import qualified Data.Ord import qualified Data.Functor.Identity import qualified LinearScan.Utils import qualified LinearScan.IApplicative as IApplicative __ :: any __ = Prelude.error "Logical or arity value used" data IMonad m = Build_IMonad (IApplicative.IApplicative m) (() -> () -> () -> () -> m -> m) ijoin :: (IMonad a1) -> a1 -> a1 ijoin iMonad x = case iMonad of { Build_IMonad is_iapplicative ijoin0 -> ijoin0 __ __ __ __ x}