let rec dom_of a = 
  try
    let (op, al) = d_interp a in
      dom dom_of op al
  with
      Not_found -> Term.Var.dom_of a