diff --git a/src/Quasar/Resources.hs b/src/Quasar/Resources.hs
index 868337119ea04b813eb0b1a474e78f58c113fe0b..c06672a780abd9fa383c6a895f60e7d83d841e88 100644
--- a/src/Quasar/Resources.hs
+++ b/src/Quasar/Resources.hs
@@ -39,6 +39,9 @@ data Disposer
   = FnDisposer Unique TIOWorker ExceptionChannel DisposerState Finalizers
   | ResourceManagerDisposer ResourceManager
 
+instance Resource Disposer where
+  getDisposer = id
+
 type DisposeFn = IO (Awaitable ())
 
 
@@ -125,6 +128,9 @@ data ResourceManagerState
   = ResourceManagerNormal (TVar (HashMap Unique Disposer)) TIOWorker
   | ResourceManagerDisposing (Awaitable [DisposeDependencies])
   | ResourceManagerDisposed
+
+instance Resource ResourceManager where
+  getDisposer = ResourceManagerDisposer
   
 
 newResourceManagerSTM :: TIOWorker -> STM ResourceManager