Use differential testing for oracle tests
Relates to !17 (merged)
By using differential testing we aim to more explicitly create a relation between the native behavior if the given control flow construct and the expression variant of that control flow construct offered by this package. That is, instead of asserting that cont-flow-expr
implementation return the expected value, assert that cont-flow-expr
implementations return the same value as a native implementation would.
To avoid incorrect behavior due to a bug in the native implementation, classic example-based assertions are included against the return value of the native simulations.