sig
  type prim = Expr.e_val list -> Expr.e_val
  type desc = Types.typ_scheme * Builtins.prim
  type env = (string * Builtins.desc) list
  val env : Builtins.env
  exception Unbound_id of string
  val lookup : string -> Builtins.desc
  val lookup_typ : string -> Types.typ_scheme
  val lookup_val : string -> Builtins.prim
end