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)