As per lazo specification (See chapter 5.2.3), MapGetVal should set & return the default value if the key does not exist during run-time.
Map<String, int> m
int x = m["a"] // puts new entry with "a" --> 0 and returns 0
To return default value, VM should know the value type info.