code: function oo(mod) {
    if (!(mod instanceof Module)) {
      throw(Error("Must supply a module to oo: " + JSON.stringify(mod)))
    }
    var oo_ = function(datum) {
      let prevStackTraceLimit = Error.stackTraceLimit
      try {
        Error.stackTraceLimit = getStackTraceLimit()
        return atom.make(datum, null, null, true, mod, false);
      } finally {
        Error.stackTraceLimit = prevStackTraceLimit
      }
    }
    Object.defineProperty(oo_, 'name', {
      configurable: false,
      enumerable: false,
      writable: false,
      value: 'oo'
    })
    oo_.reset = reset
    return oo_
  }
docs: *************************************************************************************************
  @typedef {Function} ClassCreationFunction
  @memberof atom
  @description Create a constructor function from a class definition
  @param {Object} datum -- An object whose properties are used to initialize the class prototype
  @todo XXX: should this be ignored?
  @ignore
   *************************************************************************************************
  @function oo
  @memberof atom
  @description Returns an class factory function
  @param {Module} mod -- The module whose context the resulting function should execute in. This
  is used to aid in resolving the class's parent "type".
  @returns {atom.ClassCreationFunction}
  @todo XXX: should this be ignored?
  @ignore