Call-by-value compiler implementation less hacky + test (task 5)