{-# LANGUAGE GADTs #-} {-# OPTIONS_GHC -Wall -fno-warn-name-shadowing #-} module Data.Cursor.CLASE.Util where data Exists a where Exists :: a b -> Exists a data TyEq a b where Eq :: TyEq a a data Id a where Id :: a -> Id a if' :: Bool -> a -> a -> a if' b x y | b = x | otherwise = y