code: function extend(schema) {
  	var schemas, extendedSchema;
  
  	if (schema.extends) {
  		schemas = [{}, schema].concat(schema.extends);
  		extendedSchema = _.defaultsDeep.apply(null, schemas);
  		extendedSchema = _.omit(extendedSchema, ['extends']);
  		return extendedSchema;
  	}
  	return schema;
  }
docs: NOTE: Since there is circular references, it is impossible to extend early before normalize(). i.e. can't use json-regulator to remove "extends".