diff --git a/packages/file/lib/src/backends/record_replay/replay_file_system.dart b/packages/file/lib/src/backends/record_replay/replay_file_system.dart
index c5c0497..37ebf64 100644
--- a/packages/file/lib/src/backends/record_replay/replay_file_system.dart
+++ b/packages/file/lib/src/backends/record_replay/replay_file_system.dart
@@ -75,8 +75,9 @@
     if (!manifestFile.existsSync()) {
       throw new ArgumentError('Not a valid recording directory: $dirname');
     }
-    List<Map<String, dynamic>> manifest =
-        new JsonDecoder().convert(manifestFile.readAsStringSync());
+    List<Map<String, dynamic>> manifest = new JsonDecoder()
+        .convert(manifestFile.readAsStringSync())
+        .cast<Map<String, dynamic>>();
     return new ReplayFileSystemImpl(recording, manifest);
   }
 }
diff --git a/packages/file/test/recording_test.dart b/packages/file/test/recording_test.dart
index 17a189c..d485cfa 100644
--- a/packages/file/test/recording_test.dart
+++ b/packages/file/test/recording_test.dart
@@ -197,7 +197,7 @@
         await rc.futureMethod('qux', namedArg: 'quz');
         await rc.streamMethod('quux', namedArg: 'quuz').drain<void>();
         List<Map<String, dynamic>> manifest =
-            await encode(recording.events).retype<Map<String, dynamic>>();
+            await encode(recording.events).cast<Map<String, dynamic>>();
         expect(manifest[0], <String, dynamic>{
           'type': 'set',
           'property': 'basicProperty=',
@@ -837,7 +837,7 @@
       (FileSystemEntity entity) => entity.basename == kManifestName);
   return new JsonDecoder()
       .convert(manifestFile.readAsStringSync())
-      .retype<Map<String, dynamic>>();
+      .cast<Map<String, dynamic>>();
 }
 
 File _getRecordingFile(LiveRecording recording, String manifestReference) {
