constructor(fs) {
    if (typeof fs._original_unwrapped_fs !== 'undefined') return fs

    const promises = Object.getOwnPropertyDescriptor(fs, 'promises')
    if (promises && promises.enumerable) {
      bindFs(this, fs.promises)
    } else {
      bindFs(this, fs)
    }
    this._original_unwrapped_fs = fs
  }
This is just a collection of helper functions really. At least that's how it started.