@@ -472,19 +472,19 @@ deriving instance NFData Raw
474-- | All binding forms are represented in a unform fashion.
474-- | All binding forms are represented in a unform fashion.
475−data Binder b = Lam { binderTy :: b {-^ type annotation for bound variable-}}
475+data Binder b = Lam { binderTy :: !b {-^ type annotation for bound variable-}}
476− | Pi { binderTy :: b }
476+ | Pi { binderTy :: !b }
477− | Let { binderTy :: b,
477+ | Let { binderTy :: !b,
478 binderVal :: b {-^ value for bound variable-}}
478 binderVal :: b {-^ value for bound variable-}}
479− | NLet { binderTy :: b,
479+ | NLet { binderTy :: !b,
480 binderVal :: b }
480 binderVal :: b }
481− | Hole { binderTy :: b}
481+ | Hole { binderTy :: !b}
482 | GHole { envlen :: Int,
482 | GHole { envlen :: Int,
483− binderTy :: b}
483+ binderTy :: !b}
484− | Guess { binderTy :: b,
484+ | Guess { binderTy :: !b,
485 binderVal :: b }
485 binderVal :: b }
486− | PVar { binderTy :: b }
486+ | PVar { binderTy :: !b }
487− | PVTy { binderTy :: b }
487+ | PVTy { binderTy :: !b }
488 deriving (Show, Eq, Ord, Functor)
488 deriving (Show, Eq, Ord, Functor)
490deriving instance Binary Binder
490deriving instance Binary Binder
@@ -586,8 +586,8 @@ instance Eq NameType where
586-- | Terms in the core language
586-- | Terms in the core language
587data TT n = P NameType n (TT n) -- ^ named references
587data TT n = P NameType n (TT n) -- ^ named references
588 | V !Int -- ^ a resolved de Bruijn-indexed variable
588 | V !Int -- ^ a resolved de Bruijn-indexed variable
589− | Bind n (Binder (TT n)) (TT n) -- ^ a binding
589+ | Bind n !(Binder (TT n)) (TT n) -- ^ a binding
590− | App (TT n) (TT n) -- ^ function, function type, arg
590+ | App !(TT n) (TT n) -- ^ function, function type, arg
591 | Constant Const -- ^ constant
591 | Constant Const -- ^ constant
592 | Proj (TT n) !Int -- ^ argument projection; runtime only
592 | Proj (TT n) !Int -- ^ argument projection; runtime only
593 -- (-1) is a special case for 'subtract one from BI'
593 -- (-1) is a special case for 'subtract one from BI'