type ty_id = string

type ty =
  TVar of ty_id
  | Arr of ty * ty
  | And of ty * ty
  | Or of ty * ty
  | Bot
  | Unknown (* for Or *)

type gam = (ty_id * ty) list