Set up space profiling.
Correct space semantics for `stepper`.

Any value that is stored in the graph over more than a single atomic evaluation must be stored in WHNF. This implies that latch values must be forced to WHNF before storing them. On the other hand, only latch values can be stored for a longer time, so they are the only place where we need to do this.

The model semantics have been corrected in a similar way.
Introduce a two-phase approach for pulse/latch evaluation and remove the knot for latch evaluation.

This will make it easier to get the strictness of latches correct.
Type checks.
Finish up implementation of two-phase approach.

Two recursion tests fail. The switchB test fails only intermittedly, probably some issues with observable sharing.