module Mischief.ECS.EventDef where import Data.Data -- | @Event@ typeclass. class (Typeable e) => Event e where eraseEvent :: e -> ErasedEvent eraseEvent = e -> ErasedEvent forall e. Typeable e => e -> ErasedEvent ErasedEvent data ErasedEvent where ErasedEvent :: (Typeable e) => e -> ErasedEvent