let make lo hi = if lo <= hi then Ok {lo; hi} else ( error "lower bound larger than upper bound" (lo, hi) <:sexp_of< int * int >> )