-- Normalize monadic actions

norm :: (MonadCheck m, MonadSubst Var Var m, MonadSubst Var Exp m) => AST a -> a -> m a
norm VarA v        = lookupSubst VarA v VarA (return v)
norm :: (MonadCheck m, MonadSubst Var Var m, MonadSubst Var Exp m) => AST a -> a -> m a
norm VarA v        = lookupSubst VarA v VarA (return v)
norm VarA v        = lookupSubst VarA v VarA (return v)