diff --git a/src/lib/Qd/Observable.hs b/src/lib/Qd/Observable.hs
index adb896410df62ac377eff81aae6630ac5cd2007b..0445cd0ae907d5dda8229d932336590a75bb31c0 100644
--- a/src/lib/Qd/Observable.hs
+++ b/src/lib/Qd/Observable.hs
@@ -65,14 +65,12 @@ class Gettable v a | a -> v where
 
 class Gettable v o => Observable v o | o -> v where
   subscribe :: o -> (ObservableMessage v -> IO ()) -> IO SubscriptionHandle
-  subscribe = subscribe . toSomeObservable
   toSomeObservable :: o -> SomeObservable v
   toSomeObservable = SomeObservable
   mapObservable :: (v -> a) -> o -> SomeObservable a
   mapObservable f = mapObservableM (return . f)
   mapObservableM :: (v -> IO a) -> o -> SomeObservable a
   mapObservableM f = SomeObservable . MappedObservable f
-  {-# MINIMAL subscribe | toSomeObservable #-}
 
 -- | Variant of `getValue` that throws exceptions instead of returning them.
 getValueE :: (Exception e, Observable (Either e v) o) => o -> IO v