let rec dom_of a = try let (a1, a2) = d_interp a in Dom.mult (dom_of a1) (dom_of a2) with Not_found -> Term.Var.dom_of a