@@ -972,8 +972,10 @@ instance Monad (BehaviorM x) where
972972 BehaviorM x >> BehaviorM y = BehaviorM $ x >> y
973973 {-# INLINE return #-}
974974 return x = BehaviorM $ return x
975+#if !MIN_VERSION_base(4,13,0)
975976 {-# INLINE fail #-}
976977 fail s = BehaviorM $ fail s
978+#endif
977979
978980data BehaviorSubscribed x a
979981 = forall p. BehaviorSubscribedHold (Hold x p)
@@ -2357,8 +2359,10 @@ instance HasSpiderTimeline x => Monad (Reflex.Class.Dynamic (SpiderTimeline x))
23572359 x >>= f = SpiderDynamic $ dynamicDynIdentity $ newJoinDyn $ newMapDyn (unSpiderDynamic . f) $ unSpiderDynamic x
23582360 {-# INLINE (>>) #-}
23592361 (>>) = (*>)
2362+#if !MIN_VERSION_base(4,13,0)
23602363 {-# INLINE fail #-}
23612364 fail _ = error "Dynamic does not support 'fail'"
2365+#endif
23622366
23632367{-# INLINABLE newJoinDyn #-}
23642368newJoinDyn :: HasSpiderTimeline x => DynamicS x (Identity (DynamicS x (Identity a))) -> Reflex.Spider.Internal.Dyn x (Identity a)
@@ -2637,6 +2641,10 @@ instance Monad (SpiderHost x) where
26372641 SpiderHost x >> SpiderHost y = SpiderHost $ x >> y
26382642 {-# INLINABLE return #-}
26392643 return x = SpiderHost $ return x
2644+#if MIN_VERSION_base(4,13,0)
2645+
2646+instance MonadFail (SpiderHost x) where
2647+#endif
26402648 {-# INLINABLE fail #-}
26412649 fail s = SpiderHost $ fail s
26422650
@@ -2660,8 +2668,10 @@ instance Monad (SpiderHostFrame x) where
26602668 SpiderHostFrame x >> SpiderHostFrame y = SpiderHostFrame $ x >> y
26612669 {-# INLINABLE return #-}
26622670 return x = SpiderHostFrame $ return x
2671+#if !MIN_VERSION_base(4,13,0)
26632672 {-# INLINABLE fail #-}
26642673 fail s = SpiderHostFrame $ fail s
2674+#endif
26652675
26662676instance NotReady (SpiderTimeline x) (SpiderHostFrame x) where
26672677 notReadyUntil _ = pure ()