Swap
Example
:kind! Eval (Swap '(1, 2))Eval (Swap '(1, 2)) :: (TL.Natural, TL.Natural)= '(2, 1)
:: a typeCtrl KGHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27
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