fixed pair API
diff --git a/pkgs/yaml/lib/src/parser.dart b/pkgs/yaml/lib/src/parser.dart
index 0f824be..625abe6 100644
--- a/pkgs/yaml/lib/src/parser.dart
+++ b/pkgs/yaml/lib/src/parser.dart
@@ -653,7 +653,7 @@
       ScalarEvent(location.pointSpan() as FileSpan, '', ScalarStyle.PLAIN);
 
   /// Parses directives.
-  Pair<VersionDirective, List<TagDirective>> _processDirectives() {
+  Pair<VersionDirective?, List<TagDirective>> _processDirectives() {
     var token = _scanner.peek()!;
 
     VersionDirective? versionDirective;
diff --git a/pkgs/yaml/lib/src/scanner.dart b/pkgs/yaml/lib/src/scanner.dart
index fac9550..942e578 100644
--- a/pkgs/yaml/lib/src/scanner.dart
+++ b/pkgs/yaml/lib/src/scanner.dart
@@ -1146,8 +1146,8 @@
     // Scan the leading line breaks to determine the indentation level if
     // needed.
     var pair = _scanBlockScalarBreaks(indent);
-    indent = pair.first!;
-    var trailingBreaks = pair.last!;
+    indent = pair.first;
+    var trailingBreaks = pair.last;
 
     // Scan the block scalar contents.
     var buffer = StringBuffer();
@@ -1198,8 +1198,8 @@
 
       // Eat the following indentation and spaces.
       var pair = _scanBlockScalarBreaks(indent);
-      indent = pair.first!;
-      trailingBreaks = pair.last!;
+      indent = pair.first;
+      trailingBreaks = pair.last;
     }
 
     // Chomp the tail.
diff --git a/pkgs/yaml/lib/src/utils.dart b/pkgs/yaml/lib/src/utils.dart
index 20210ef..2c69ead 100644
--- a/pkgs/yaml/lib/src/utils.dart
+++ b/pkgs/yaml/lib/src/utils.dart
@@ -6,8 +6,8 @@
 
 /// A pair of values.
 class Pair<E, F> {
-  final E? first;
-  final F? last;
+  final E first;
+  final F last;
 
   Pair(this.first, this.last);