let cut_in_half = function
i -> if is_open (i)
then (cons_open (lower_bound (i), midpoint (i)), cons_open (midpoint (i), upper_bound (i)))
else failwith ("cut_in_half : requires a non-zero width interval as its argument")