diff --git a/src/_zkapauthorizer/_storage_server.py b/src/_zkapauthorizer/_storage_server.py
index e54f3780787bf500937188b512411cc3b027e074..da6c959cb4bc3bd22b7c48e1fb5fdbb3cf7a71cb 100644
--- a/src/_zkapauthorizer/_storage_server.py
+++ b/src/_zkapauthorizer/_storage_server.py
@@ -31,11 +31,10 @@ from os.path import join
 from struct import calcsize, unpack
 
 import attr
-from allmydata.interfaces import RIStorageServer
+from allmydata.interfaces import RIStorageServer, TestAndWriteVectorsForShares
 from allmydata.storage.common import storage_index_to_dir
-from allmydata.storage.immutable import ShareFile
 from allmydata.storage.lease import LeaseInfo
-from allmydata.storage.mutable import MutableShareFile
+from allmydata.storage.server import StorageServer
 from allmydata.storage.shares import get_share_file
 from allmydata.util.base32 import b2a
 from attr.validators import instance_of, provides
@@ -60,6 +59,11 @@ from .storage_common import (
     slot_testv_and_readv_and_writev_message,
 )
 
+try:
+    from typing import Dict, List, Optional
+except ImportError:
+    pass
+
 # See allmydata/storage/mutable.py
 SLOT_HEADER_SIZE = 468
 LEASE_TRAILER_SIZE = 4
@@ -755,7 +759,7 @@ def share_has_active_leases(storage_server, storage_index, sharenum, now):
 
 
 def get_writev_price(storage_server, pass_value, storage_index, tw_vectors, now):
-    # type: (StorageServer, int, bytes, TestWriteVectors, float) -> int
+    # type: (StorageServer, int, bytes, TestAndWriteVectorsForShares, float) -> int
     """
     Determine the price to execute the given test/write vectors.
     """
diff --git a/src/_zkapauthorizer/lease_maintenance.py b/src/_zkapauthorizer/lease_maintenance.py
index 9fe3186224f334446e83e5ac829e47942d78a2e3..a5763b3dd25b0df80f10f479de197bf8f4a54806 100644
--- a/src/_zkapauthorizer/lease_maintenance.py
+++ b/src/_zkapauthorizer/lease_maintenance.py
@@ -36,8 +36,14 @@ from twisted.python.log import err
 from zope.interface import implementer
 
 from .controller import bracket
+from .foolscap import ShareStat
 from .model import ILeaseMaintenanceObserver
 
+try:
+    from typing import Iterable
+except ImportError:
+    pass
+
 SERVICE_NAME = u"lease maintenance service"
 
 
diff --git a/src/_zkapauthorizer/tests/test_lease_maintenance.py b/src/_zkapauthorizer/tests/test_lease_maintenance.py
index 87345284ccf38f17272596dd71e1e6bf916bff6e..156757ef6e70c5d7b6d05773c4780ea800b2d1c6 100644
--- a/src/_zkapauthorizer/tests/test_lease_maintenance.py
+++ b/src/_zkapauthorizer/tests/test_lease_maintenance.py
@@ -37,7 +37,6 @@ from hypothesis.strategies import (
     lists,
     randoms,
     sets,
-    tuples,
 )
 from testtools import TestCase
 from testtools.matchers import (
@@ -51,7 +50,7 @@ from testtools.matchers import (
 )
 from testtools.twistedsupport import succeeded
 from twisted.application.service import IService
-from twisted.internet.defer import maybeDeferred, succeed
+from twisted.internet.defer import Deferred, maybeDeferred, succeed
 from twisted.internet.task import Clock
 from twisted.python.filepath import FilePath
 from zope.interface import implementer
@@ -74,6 +73,11 @@ from .strategies import (
     storage_indexes,
 )
 
+try:
+    from typing import Dict, List
+except ImportError:
+    pass
+
 
 def interval_means():
     return floats(
@@ -460,7 +464,6 @@ def lists_of_buckets():
             min_size=count,
             max_size=count,
         )
-        expiration_strategy = lists
         return builds(
             zip,
             si_strategy,
diff --git a/src/_zkapauthorizer/tests/test_storage_protocol.py b/src/_zkapauthorizer/tests/test_storage_protocol.py
index 6e3fd1222470ab0959d8f936177c1f1d78ba68d0..82b62acbdab9f855efc5cd83503252f07627627a 100644
--- a/src/_zkapauthorizer/tests/test_storage_protocol.py
+++ b/src/_zkapauthorizer/tests/test_storage_protocol.py
@@ -46,7 +46,6 @@ from twisted.internet.task import Clock
 from twisted.python.filepath import FilePath
 from twisted.python.runtime import platform
 
-from .._storage_client import _encode_passes
 from ..api import (
     MorePassesRequired,
     ZKAPAuthorizerStorageClient,
@@ -57,7 +56,6 @@ from ..storage_common import (
     allocate_buckets_message,
     get_implied_data_length,
     required_passes,
-    slot_testv_and_readv_and_writev_message,
 )
 from .common import skipIf
 from .fixtures import AnonymousStorageServer
diff --git a/tests.nix b/tests.nix
index b8b5b39b0d656f43d07cd5c66938c7f52a28bdd2..7023c06a296dfd5be2cb3468c789d7038ac25add 100644
--- a/tests.nix
+++ b/tests.nix
@@ -49,7 +49,7 @@ in
       mkdir -p $out
 
       pushd ${zkapauthorizer.src}
-      ${python}/bin/pyflakes
+      ${python}/bin/pyflakes src
       ${lint-python}/bin/black --check src
       ${lint-python}/bin/isort --check src
       popd