diff --git a/src/Quasar/Resources/Disposer.hs b/src/Quasar/Resources/Disposer.hs
index a29ae246fc57d4c935037ba11dfaf8436b0e8a89..9d44e42e0b6bc65a79d04aa50a7db173151cd0bd 100644
--- a/src/Quasar/Resources/Disposer.hs
+++ b/src/Quasar/Resources/Disposer.hs
@@ -44,6 +44,16 @@ class Resource a where
   isDisposing r = isDisposing (toDisposer r)
 
 
+
+newtype Disposer = Disposer [DisposerElement]
+  deriving newtype (Semigroup, Monoid)
+
+instance Resource Disposer where
+  toDisposer = id
+  isDisposed (Disposer ds) = foldMap isDisposed ds
+  isDisposing (Disposer ds) = awaitAny $ isDisposing <$> ds
+
+
 type DisposerState = TOnce DisposeFn (Future ())
 
 data DisposerElement
@@ -60,15 +70,6 @@ instance Resource DisposerElement where
   isDisposing (ResourceManagerDisposer resourceManager) = resourceManagerIsDisposing resourceManager
 
 
-newtype Disposer = Disposer [DisposerElement]
-  deriving newtype (Semigroup, Monoid)
-
-instance Resource Disposer where
-  toDisposer = id
-  isDisposed (Disposer ds) = foldMap isDisposed ds
-  isDisposing (Disposer ds) = awaitAny $ isDisposing <$> ds
-
-
 type DisposeFn = ShortIO (Future ())