- Parameterize the step monad by an Input_monad. This allows the step testbench
to control both
Cyclesim
andEvent_driven_sim
simulators. - Implement an
Imperative
step monad interface. Rename the previous version to theFunctional
step monad. The imperative style no longer controls or constrains port access to the underlying simulator. It is simpler to use (especially spawning sub tasks), but arguably less safe.
- Add [Step.List.iter2_exn].