{-# LANGUAGE GADTSyntax #-}
{-# LANGUAGE TypeFamilies #-}

data instance Foo Int = FooInt Int

data instance
  Foo
    [Int]
  = IntListFoo
      ( Int,
        Int
      )
      ( Double,
        Double
      )

data instance Bar Double a
  = DoubleBar
      Double
      (Bar a)
