T15365.hs:(9,3)-(31,6): Splicing declarations [d| (&&&) :: Bool -> Bool -> Bool (&&&) = (&&) pattern (:!!!) :: Bool pattern (:!!!) = True type (|||) = Either data (***) class (???) data family ($$$) type family (^^^) type family (###) where (###) = Int instance (???) data instance ($$$) type instance (^^^) = Int |] ======> type (|||) = Either (&&&) :: Bool -> Bool -> Bool (&&&) = (&&) type role (***) data (***) class (???) instance (???) data family ($$$) data instance ($$$) type family (^^^) type instance (^^^) = Int type family (###) where (###) = Int pattern (:!!!) :: Bool pattern (:!!!) = True