Limit the maximum recursion depth.
Use the JLValue struct for scopes.
Use lexical scoping.