Swap
Example
:kind! Eval (Swap '(1, 2))Eval (Swap '(1, 2)) :: (TL.Natural, TL.Natural)= '(2, 1)
:: a typeCtrl KGHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 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