more careful ECMAScript compliance for js StringMap