{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MonoLocalBinds #-} module ContDo where import GHC.TypeLits (>>=) :: (a -> b) -> a -> b (>>=) = ($) class AlwaysFail a instance TypeError (Text "fail") => AlwaysFail a fail :: AlwaysFail a => String -> a fail = error