# 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)

# 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)
