sig
  val step : int -> float -> float -> float
  val step_floor : step:float -> float -> float
  val step_ceil : step:float -> float -> float
  val step_round : step:float -> float -> float
  val step_fold :
    step:float -> ('-> int -> float -> 'a) -> '-> float -> float -> 'a
  val step_outset : step:float -> float -> float -> float * float
  val step_inset : step:float -> float -> float -> float * float
end