diff --git a/imp.cabal b/imp.cabal
--- a/imp.cabal
+++ b/imp.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name: imp
-version: 1.0.2.1
+version: 1.0.3.0
 synopsis: A GHC plugin for automatically importing modules.
 description: Imp is a GHC plugin for automatically importing modules.
 category: Plugin
@@ -68,7 +68,6 @@
     Imp.Extra.HsModule
     Imp.Extra.HsParsedModule
     Imp.Extra.ImportDecl
-    Imp.Extra.Located
     Imp.Extra.ModuleName
     Imp.Extra.ParsedResult
     Imp.Extra.ReadP
diff --git a/source/library/Imp.hs b/source/library/Imp.hs
--- a/source/library/Imp.hs
+++ b/source/library/Imp.hs
@@ -20,7 +20,6 @@
 import qualified Imp.Extra.HsModule as HsModule
 import qualified Imp.Extra.HsParsedModule as HsParsedModule
 import qualified Imp.Extra.ImportDecl as ImportDecl
-import qualified Imp.Extra.Located as Located
 import qualified Imp.Extra.ParsedResult as ParsedResult
 import qualified Imp.Extra.SrcSpanAnnN as SrcSpanAnnN
 import qualified Imp.Type.Config as Config
@@ -87,9 +86,14 @@
         Hs.HsModule _ _ _ lImportDecls _ ->
           Set.fromList $
             fmap (ImportDecl.toModuleName . Plugin.unLoc) lImportDecls
+      go ::
+        (Data.Data a) =>
+        a ->
+        StateT.State (Map.Map Plugin.ModuleName Hs.SrcSpanAnnN) a
+      go = overData $ updateQualifiedIdentifiers this implicits imports
       (newLHsModule, moduleNames) =
         StateT.runState
-          (Located.overValue (HsModule.overDecls $ overData $ updateQualifiedIdentifiers this implicits imports) lHsModule)
+          (go lHsModule)
           Map.empty
   pure $ fmap (HsModule.overImports $ updateImports this aliases packages moduleNames) newLHsModule
 
diff --git a/source/library/Imp/Extra/HsModule.hs b/source/library/Imp/Extra/HsModule.hs
--- a/source/library/Imp/Extra/HsModule.hs
+++ b/source/library/Imp/Extra/HsModule.hs
@@ -2,13 +2,6 @@
 
 import qualified GHC.Hs as Hs
 
-overDecls ::
-  (Functor f) =>
-  ([Hs.LHsDecl Hs.GhcPs] -> f [Hs.LHsDecl Hs.GhcPs]) ->
-  Hs.HsModule Hs.GhcPs ->
-  f (Hs.HsModule Hs.GhcPs)
-overDecls f x = (\y -> x {Hs.hsmodDecls = y}) <$> f (Hs.hsmodDecls x)
-
 overImports ::
   ([Hs.LImportDecl Hs.GhcPs] -> [Hs.LImportDecl Hs.GhcPs]) ->
   Hs.HsModule Hs.GhcPs ->
diff --git a/source/library/Imp/Extra/Located.hs b/source/library/Imp/Extra/Located.hs
deleted file mode 100644
--- a/source/library/Imp/Extra/Located.hs
+++ /dev/null
@@ -1,6 +0,0 @@
-module Imp.Extra.Located where
-
-import qualified GHC.Plugins as Plugin
-
-overValue :: (Functor f) => (a -> f b) -> Plugin.Located a -> f (Plugin.Located b)
-overValue f (Plugin.L l e) = Plugin.L l <$> f e
diff --git a/source/test-suite/Main.hs b/source/test-suite/Main.hs
--- a/source/test-suite/Main.hs
+++ b/source/test-suite/Main.hs
@@ -116,6 +116,12 @@
       "version = Data.SemVer.initial"
       "import (implicit) qualified \"semver\" Data.SemVer\nversion = Data.SemVer.initial"
 
+  Hspec.it "handles exports" $ do
+    expectImp
+      []
+      "module Example ( Data.Bool.Bool ) where"
+      "module Example (\n        Data.Bool.Bool\n    ) where\nimport (implicit) qualified Data.Bool"
+
 expectImp :: (Stack.HasCallStack) => [String] -> String -> String -> Hspec.Expectation
 expectImp arguments input expected = do
   before <- parseModule input
