diff --git a/pkgs/yaml/lib/model.dart b/pkgs/yaml/lib/model.dart
index 5c09aa5..ac237a0 100644
--- a/pkgs/yaml/lib/model.dart
+++ b/pkgs/yaml/lib/model.dart
@@ -190,8 +190,7 @@
   /// long.
   String zeroPad(String str, int length) {
     assert(length >= str.length);
-    var prefix = [];
-    prefix.insertRange(0, length - str.length, '0');
+    var prefix = new List.filled(length - str.length, '0');
     return '${prefix.join()}$str';
   }
 
diff --git a/pkgs/yaml/lib/parser.dart b/pkgs/yaml/lib/parser.dart
index 9621b13..b923fe3 100644
--- a/pkgs/yaml/lib/parser.dart
+++ b/pkgs/yaml/lib/parser.dart
@@ -1637,7 +1637,7 @@
         if (!truth(s_indent(indent))) return null;
         return c_l_blockSeqEntry(indent);
       }));
-    content.insertRange(0, 1, first);
+    content.insert(0, first);
 
     return new _SequenceNode("?", content);
   });
@@ -1720,7 +1720,7 @@
         if (!truth(s_indent(indent))) return null;
         return ns_l_blockMapEntry(indent);
       }));
-    pairs.insertRange(0, 1, first);
+    pairs.insert(0, first);
 
     return map(pairs);
   });
diff --git a/pkgs/yaml/test/yaml_test.dart b/pkgs/yaml/test/yaml_test.dart
index 6013dc9..047c273 100644
--- a/pkgs/yaml/test/yaml_test.dart
+++ b/pkgs/yaml/test/yaml_test.dart
@@ -1350,8 +1350,7 @@
          bar: invalid ]""")));
 
       // TODO(nweiz): enable this when we throw an error for long keys
-      // var dotList = [];
-      // dotList.insertRange(0, 1024, ' ');
+      // var dotList = new List.filled(1024, ' ');
       // var dots = dotList.join();
       // Expect.throws(() => loadYaml('[ "foo...$dots...bar": invalid ]'));
     });
