.plan
uniformize checks for nil
move comment to the line where it belongs
.plan: error continuation hierarchy
move functions to primitive so nothing depends on interpret