sig exception Error of string val subst : S.Ast.t -> Var.t -> S.Ast.t -> S.Ast.t val evaln : S.Ast.t -> S.Ast.t val evalv : S.Ast.t -> S.Ast.t end