FAILWITH behavior for ASSERT
ASSERT
is a shorthand for IF{}{FAIL}
FAIL
resolves to UNIT; FAILWITH
This means we can either have an error message or use assert, but not both.
I would like ASSERT "my error message"
to do IF{}{PUSH string "my error message"; FAILWITH}
or something similarly convenient.