docs: function forEachProperty(map, callback) {
          var result;
          for (var key in map) {
              if (result = callback(map[key], key))
                  break;
          }
          return result;
      }