let width a = try let op, _ = d_interp a in Some(Sym.Bv.width op) with Not_found -> (try Some(Term.Var.width_of a) with Not_found -> None)