docs: function createConstructor(init) {
      // -------------------------------------------------------------- processing
  
      function publicConstructor() {
          var self = this instanceof privateConstructor ? this : new privateConstructor();
          init.apply(self, arguments);
          return self;
      }
  
      function privateConstructor() {}
      privateConstructor.prototype = publicConstructor.prototype;
  
      // ------------------------------------------------------------------ return
  
      return publicConstructor;
  }