add assertions to prevent compile_time_closure from being interpreted
remove unused parameters