Swap
Example
:kind! Eval (Swap '(1, 2))Eval (Swap '(1, 2)) :: (TL.Natural, TL.Natural)= '(2, 1)
:: a typeCtrl KGHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11
Modulefcf-containers-0.8.2Haskell2010
import qualified GHC.TypeLits as TLSwap
:kind! Eval (Swap '(1, 2))Eval (Swap '(1, 2)) :: (TL.Natural, TL.Natural)= '(2, 1)
2-tuple to allow for partial application of 2-tuple at the type level
3-tuple to allow for partial application of 3-tuple at the type level
4-tuple to allow for partial application of 4-tuple at the type level
5-tuple to allow for partial application of 4-tuple at the type level