Transient map

edit: delete Option Class entirely. If I'm not mistaken, it's used merely for lookup's - if every lookup get's 'orElse()' parameter, the Option is redundant. If you want to check if the value exists and retrieve it at the same time, you can do it like this:

// define such helpers in persistent library
_none = new Object();
none = () => _none;
isNone = (val) => val == _none

res = map.lookup('key', orElse: none)
if (isNone(res)){blah blah}