isolated the internal state of BuiltinMap.Builder completely from effect of outside change; this also simplifies the code