читаю исходники jscheme (http://norvig.com/jscheme/jscheme.jar)
В Environment.java, контекст реализован как пара scheme-списков -- vars и vals. При этом в комментариях говорится что vars не обязательно заканчивается на null:
> If a variable list ends in a symbol rather than null, it means that symbol is bound to the remainder of the values list.
какой в этом скрытый смысл?
ведь можно, казалось бы, реализовать контекст просто как HashMap.