type family FragNat (fr :: Frag ()) :: Nat where
FragNat 'Nil = 0
type family NatFrag (z :: Nat) :: Frag () where
NatFrag 0 = 'Nil
NatFrag n = NatFrag (n - 1) :+ '()
The plugin should at least reduce NatFrag (FragNat fr) to fr and FragNat (NatFrag n) to n.
The plugin should at least reduce
NatFrag (FragNat fr)
tofr
andFragNat (NatFrag n)
ton
.