Future<void> enqueue(FutureOr<void> Function() operation) { final next = _tail.then((_) => operation()); _tail = next.catchError((Object _) {}); return next; }