{-  -- This is what Generics will create:
    M1 D _ (
            (
                M1 C _ (M1 S _ (K1 R Bool))
            :+: M1 C _ (M1 S _ (K1 R Bool))
        ) :+: (
                M1 C _ (M1 S _ (K1 R Bool) :*: M1 S _ (K1 R Bool))
            :+: (
                    M1 C _ (M1 S _ (K1 R Bool) :*: (M1 S _ (K1 R Bool) :*: M1 S _ (K1 R Bool)))
                :+: M1 C _ ((M1 S _ (K1 R Bool) :*: M1 S _ (K1 R Bool)) :*: (M1 S _ (K1 R Bool) :*: M1 S _ (K1 R Bool)))
            )
        )
    ) Bool
-}

{-  -- And this is Template Haskell:
    TyConI (DataD [] Sky.Learn.GHCGenerics.Expr [KindedTV a_1627402939 StarT,KindedTV b_1627402940 StarT]
        [NormalC Sky.Learn.GHCGenerics.LiteralA [(NotStrict,VarT a_1627402939)]
        ,NormalC Sky.Learn.GHCGenerics.LiteralB [(NotStrict,VarT b_1627402940)]
        ,NormalC Sky.Learn.GHCGenerics.LiteralAB [(NotStrict,VarT a_1627402939),(NotStrict,VarT b_1627402940)]
        ,NormalC Sky.Learn.GHCGenerics.LiteralABA [(NotStrict,VarT a_1627402939),(NotStrict,VarT b_1627402940),(NotStrict,VarT a_1627402939)]
        ,NormalC Sky.Learn.GHCGenerics.LiteralABAB [(NotStrict,VarT a_1627402939),(NotStrict,VarT b_1627402940),(NotStrict,VarT a_1627402939),(NotStrict,VarT b_1627402940)]
        ]
        []
        )
-}


stupidExample = Stupid False
stupidExample = Stupid False
stupidExample = Stupid False