Future<bool> get isInvariant async { var list = await asStream().take(0).toList(); try { list.addAll(<T>[]); } catch (_) { return false; } return true; }