docs: function() {
  			var object, types;
  			edb.Type.prototype.$onconstruct.apply(this, arguments);
  			if (arguments.length) {
  				object = arguments[0] ? arguments[0].$object || {} : {};
  				types = edb.ObjectPopulator.populate(object, this);
  				edb.ArrayPopulator.populate(this, arguments);
  				edb.ObjectProxy.approximate(object, this, types);
  			}
  			this.onconstruct([].slice.call(this));
  		}