docs: function(keys_to_watch_for_changes, callback) {
      if (!Array.isArray(keys_to_watch_for_changes)) {
        throw keys_to_watch_for_changes + ' must be an array'
      }
  
      // add keys that map to the store's keys
      for (let k of keys_to_watch_for_changes) {
        if (!store._store.hasOwnProperty(k)) {
          throw 'Store does not have key ' + k
        }
        store._recordKeySubscriber(k, callback.name)
      }
  
      // call this function whenever the store changes
      function _callback(changed_keys) {
        if (intersection(keys_to_watch_for_changes, changed_keys).length) {
          callback(changed_keys)
        }
      }
      return store.subscribe(_callback)
    }