Calling atom should raise exception
Add test to make sure that function arguments are evaluated
Calling closure with wrong number of arguments should throw exception.
Make it possible to call closures recursively