T15365.hs:(9,2)-(31,7): Splicing declarations [d| (&&&) :: Bool -> Bool -> Bool (&&&) = (&&) pattern (:!!!) :: Bool pattern (:!!!) = True type role (***) 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