default Subscription observeQuasiModifications(QuasiModificationObserver<? super E> observer) { addQuasiModificationObserver(observer); return () -> removeQuasiModificationObserver(observer); }
default void addModificationObserver(Consumer<? super ListModification<? extends E>> observer) { addQuasiModificationObserver(new ModificationObserverWrapper<>(this, observer)); }