@@ -0,0 +1,8 @@
+'use strict';
+function getDefaultOptionSetter(type) {
+  return function setDefaultOption(optionName, value) {
+    type.defaultOptions[optionName] = value;
+  };
+}
+
+module.exports = getDefaultOptionSetter;
Why is this function necessary? Seems like a lot of work to avoid copying a one-liner. Especially since you could just define `set()` as a function on SchemaType.prototype.