let make l u = if l <= u then {lo=l; hi=u} else raise_bad (sprintf "lower bound %d must be less than or equal to upper bound %d" l u)