Make compile_to_c() much more conservative; this just emits native code for the built-in (special) operators. Any closure invocation within a function doesn't invoke that closure's native code, but only emits native code for apply().
Not including util.h led to get_wall_time()'s return value being interpreted as in and so producing incorrect values while profiling