add(moduleRecord) {
    const key = LMRCache.#keyFor(moduleRecord)
    if (this.has(moduleRecord)) {
      throw new GenerationError(
        `Module record with key "${key}" already exists in cache; this is a bug`
      )
    }
    const newModuleRecord =
      moduleRecord instanceof LavamoatModuleRecord
        ? moduleRecord
        : new LavamoatModuleRecord(moduleRecord)
    this.#cache.set(key, newModuleRecord)
    return this
  }
Adds a new {@link LavamoatModuleRecord} to the cache by
`LavaMoatModuleRecord` or options

@param {SimpleLavamoatModuleRecordOptions | LavamoatModuleRecord} moduleRecord
@returns {LMRCache}