@@ -43,10 +43,10 @@ class HasID o => RoomLike wm o where
4343instance (ObjectLike wm o ) => ObjectLike wm (TaggedObject o tagEntity ) where
4444 getObject = getObject . unTagObject
4545
46- instance (RoomLike wm o ) => RoomLike wm (TaggedObject o tagEntity ) where
46+ instance {-# OVERLAPPABLE #-} (RoomLike wm o ) => RoomLike wm (TaggedObject o tagEntity ) where
4747 getRoom = getRoom . snd . unTagObject
4848
49- instance (ThingLike wm o ) => ThingLike wm (TaggedObject o tagEntity ) where
49+ instance {-# OVERLAPPABLE #-} (ThingLike wm o ) => ThingLike wm (TaggedObject o tagEntity ) where
5050 getThing = getThing . snd . unTagObject
5151
5252instance ObjectLike wm (Thing wm ) where
@@ -74,10 +74,10 @@ instance ObjectLike wm (TaggedEntity anyTag) where
7474 getObject e = getObject (unTag e)
7575
7676instance ThingLike wm DoorEntity where
77- getThing = getThing . coerceTag @ _ @ ThingTag
77+ getThing = getThing . coerceTag @ ThingTag
7878
7979instance ThingLike wm PersonEntity where
80- getThing = getThing . coerceTag @ _ @ ThingTag
80+ getThing = getThing . coerceTag @ ThingTag
8181
8282instance ObjectLike wm Entity where
8383 getObject e = if isThing (getID e)
@@ -87,6 +87,12 @@ instance ObjectLike wm Entity where
8787instance ObjectLike wm o => ObjectLike wm (TaggedEntity e , o ) where
8888 getObject = getObject . snd
8989
90+ instance ThingLike wm (TaggedObject (Thing wm ) o ) where
91+ getThing = pure . snd . unTagObject
92+
93+ instance RoomLike wm (TaggedObject (Room wm ) o ) where
94+ getRoom = pure . snd . unTagObject
95+
9096objectIsKind ::
9197 NoMissingObjects wm es
9298 => ObjectLike wm o
0 commit comments