type var = string

type term =
  | TmVar of var
  | TmAbs of var * term
  | TmApp of term * term

type input =
  | Term of term
  | Assign of string * term

type context = (string * term) list