---- Not copying the function field works too
---------------------------------------------

do_step3 :: (Numerical num) => num -> Box a -> Box a
do_step3 number b@Box{..} = b{ obj = func number obj }
do_step3 :: (Numerical num) => num -> Box a -> Box a
do_step3 number b@Box{..} = b{ obj = func number obj }
do_step3 number b@Box{..} = b{ obj = func number obj }