extension AppListExtensions<T> on List<T> {
  void toggle(T item) {
    if (contains(item)) {

        remove(item);

    } else {
      add(item);
    }
  }

  void ensureContainsAtStart(T item) {
    if (!contains(item)) {
      insert(0, item);
    }
  }

  void removeIfPresent(T item) {
    remove(item);
  }

  void resetWith(T item) {
    clear();
    add(item);
  }
}
