Promote/LambdasComprehensive.hs:0:0: Splicing declarations promote [d| foo :: [Nat] foo = map (\ x -> either_ pred Succ x) [Left Zero, Right (Succ Zero)] bar :: [Nat] bar = map (either_ pred Succ) [Left Zero, Right (Succ Zero)] |] ======> Promote/LambdasComprehensive.hs:(0,0)-(0,0) foo :: [Nat] foo = map (\ x -> either_ pred Succ x) [Left Zero, Right (Succ Zero)] bar :: [Nat] bar = map (either_ pred Succ) [Left Zero, Right (Succ Zero)] type Foo = Apply (Apply MapSym0 Lambda_0123456789Sym0) '[Apply LeftSym0 ZeroSym0, Apply RightSym0 (Apply SuccSym0 ZeroSym0)] type FooSym0 = Foo type family Lambda_0123456789 (t :: k) :: r type instance Lambda_0123456789 x = Apply (Apply (Apply Either_Sym0 PredSym0) SuccSym0) x data Lambda_0123456789Sym0 (k :: TyFun k r) type instance Apply Lambda_0123456789Sym0 a = Lambda_0123456789 a type Bar = Apply (Apply MapSym0 (Apply (Apply Either_Sym0 PredSym0) SuccSym0)) '[Apply LeftSym0 ZeroSym0, Apply RightSym0 (Apply SuccSym0 ZeroSym0)] type BarSym0 = Bar