let dom_of = function 
  | Slack(_, Zero-> Dom.Int
  | Slack(_, Nonneg(d)) -> d
  | External(_, Real(d)) -> d
  | Const(_, _, Real(d)) -> d
  | Fresh(_, _, Real(d)) -> d
  | Rename(_, _, Real(d)) -> d
  | _ -> raise Not_found