code: function extend(target,       // @arg Object - global
                  constructors, // @arg ConstructorObject - { "Object": { keys: Object_keys, ... }, ... }
                  override) {   // @arg Boolean = false
  //{@dev
      if (!global["BENCHMARK"]) {
          $valid($type(constructors, "Object"),       extend, "constructors");
          $valid($type(override,     "Boolean|omit"), extend, "override");
      }
  //}@dev
  
      override = override || false;
  
      for (var klass in constructors) { // Object, Array, String, Function, ...
          if ( !(klass in target) ) {
              target[klass] = constructors[klass];
          }
          _extend(target[klass], constructors[klass]);
      }
  
      function _extend(extendTarget, object) {
          for (var key in object) { // "keys", "prototype", ...
              if (key === "prototype") {
                  // --- extend Object.property ---
                  if (!(key in extendTarget)) { // extendTarget has prototype?
                      extendTarget[key] = {};   // extendTarget["prototype"] = {}
                  }
                  for (var prop in object[key]) {
                      _defineProperty(extendTarget[key], prop, object[key][prop]);
                  }
              } else {
                  _defineProperty(extendTarget, key, object[key]);
              }
          }
      }
  
      function _defineProperty(obj, key, value) {
          if ( override || !(key in obj) ) {
              Object.defineProperty(obj, key, {
                  "configurable": true, // false is immutable
                  "enumerable": false,  // false is invisible(for in loop)
                  "writable": true,     // false is read-only
                  "value": value
              });
          }
      }
  }
docs: }@es6 --- implements ------------------------------------------