@@ -103,8 +103,18 @@ type SupportsStaticDomBuilder t m = (Reflex t, MonadIO m, MonadHold t m, MonadFi
103103
104104data StaticDomSpace
105105
106+-- | Static documents never produce any events, so this type has no inhabitants
107+data StaticDomEvent (a :: k)
108+
109+-- | Static documents don't process events, so all handlers are equivalent
110+data StaticDomHandler (a :: k) (b :: k) = StaticDomHandler
111+
106112instance DomSpace StaticDomSpace where
107113 type RawElement StaticDomSpace = ByteString
114+ type RawEvent StaticDomSpace = StaticDomEvent
115+ type DomHandler StaticDomSpace = StaticDomHandler
116+ type DomHandler1 StaticDomSpace = StaticDomHandler
117+ defaultEventHandler _ = StaticDomHandler
108118
109119instance SupportsStaticDomBuilder t m => DomBuilder t (StaticDomBuilderT t m) where
110120 type DomBuilderSpace (StaticDomBuilderT t m) = StaticDomSpace