diff --git a/analysis_options.yaml b/analysis_options.yaml
index bd5c120..f04af43 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,4 +1,7 @@
 include: package:pedantic/analysis_options.yaml
+analyzer:
+  strong-mode:
+    implicit-casts: false
 linter:
   rules:
     - avoid_empty_else
diff --git a/lib/shelf_io.dart b/lib/shelf_io.dart
index 30ed0d1..7f28a17 100644
--- a/lib/shelf_io.dart
+++ b/lib/shelf_io.dart
@@ -71,7 +71,7 @@
 ///
 /// Returns a [Future] which completes when the request has been handled.
 Future handleRequest(HttpRequest request, Handler handler) async {
-  var shelfRequest;
+  Request shelfRequest;
   try {
     shelfRequest = _fromHttpRequest(request);
   } catch (error, stackTrace) {
@@ -83,7 +83,7 @@
 
   // TODO(nweiz): abstract out hijack handling to make it easier to implement an
   // adapter.
-  var response;
+  Response response;
   try {
     response = await handler(shelfRequest);
   } on HijackException catch (error, stackTrace) {
@@ -143,7 +143,8 @@
 
 Future _writeResponse(Response response, HttpResponse httpResponse) {
   if (response.context.containsKey("shelf.io.buffer_output")) {
-    httpResponse.bufferOutput = response.context["shelf.io.buffer_output"];
+    httpResponse.bufferOutput =
+        response.context["shelf.io.buffer_output"] as bool;
   }
 
   httpResponse.statusCode = response.statusCode;
diff --git a/lib/src/middleware.dart b/lib/src/middleware.dart
index 445efdd..05b9b47 100644
--- a/lib/src/middleware.dart
+++ b/lib/src/middleware.dart
@@ -54,7 +54,7 @@
 
   if (responseHandler == null) responseHandler = (response) => response;
 
-  var onError;
+  void Function(Object, StackTrace) onError;
   if (errorHandler != null) {
     onError = (error, stackTrace) {
       if (error is HijackException) throw error;
diff --git a/lib/src/middleware/logger.dart b/lib/src/middleware/logger.dart
index 412ce11..0d11ca1 100644
--- a/lib/src/middleware/logger.dart
+++ b/lib/src/middleware/logger.dart
@@ -34,7 +34,7 @@
           logger(msg, false);
 
           return response;
-        }, onError: (error, stackTrace) {
+        }, onError: (error, StackTrace stackTrace) {
           if (error is HijackException) throw error;
 
           var msg = _getErrorMessage(startTime, request.requestedUri,
diff --git a/test/add_chunked_encoding_test.dart b/test/add_chunked_encoding_test.dart
index 2b06ad0..2ae1dbf 100644
--- a/test/add_chunked_encoding_test.dart
+++ b/test/add_chunked_encoding_test.dart
@@ -60,5 +60,5 @@
   });
 }
 
-Future<Response> _chunkResponse(Response response) =>
+FutureOr<Response> _chunkResponse(Response response) =>
     addChunkedEncoding((_) => response)(null);
