Factory Functions & Singleton Pattern

What is problematic about this singleton implementation?
const Singleton = (() => {
  let instance;
  
  class Database {
    constructor() {
      if (instance) {
        return instance;
      }
      this.data = [];
      instance = this;
    }
    
    add(item) {
      this.data.push(item);
    }
  }
  
  return Database;
})();
Next Question (10/32)