docs: function(json) {
  			edb.Type.prototype.$onconstruct.apply(this, arguments);
  			switch (gui.Type.of(json)) {
  				case "object":
  				case "undefined":
  				case "null":
  					var proxy = gui.Object.copy(json || {});
  					var types = edb.ObjectPopulator.populate(proxy, this);
  					edb.ObjectProxy.approximate(proxy, this, types);
  					break;
  				default:
  					throw new TypeError(
  						"Unexpected edb.Object constructor argument of type " +
  						gui.Type.of(json) + ": " + String(json)
  					);
  			}
  			this.onconstruct();
  			if (this.oninit) {
  				console.error("Deprecated API is deprecated: " + this + ".oninit");
  			}
  		}