module Type.Base.Proxy where import Control.Applicative (Applicative, pure, (<*>), ) import qualified Prelude as P import Prelude (String, Eq, Functor, fmap) data Proxy a = Proxy deriving (Eq) instance Functor Proxy where fmap _f Proxy = Proxy instance Applicative Proxy where pure _ = Proxy Proxy <*> Proxy = Proxy class Show a where showsPrec :: P.Int -> Proxy a -> P.ShowS instance Show a => P.Show (Proxy a) where showsPrec = showsPrec