{-# LANGUAGE DataKinds #-}{-# LANGUAGE KindSignatures #-}{-# LANGUAGE TypeFamilyDependencies #-}{-# LANGUAGE TypeOperators #-}moduleT12522awherenewtypeIa=IatypefamilyCurry(as::[*])b=f|f->asbwhereCurry'[]b=IbCurry(a:as)b=a->CurryasbdataUncurried(as::[*])bdef::Curryasb->Uncurriedasbdef=undefined-- test2 :: Uncurried [Bool, Bool] Booltest2=def$\ab->I$a&&b