Data.Diverse.TypeLevel

type UniqueMember x xs

type UniqueMemberAt n x xs

type UniqueLabelMember l xs

type MaybeUniqueMemberAt n x xs

type MemberAt n x xs

type MaybeMemberAt n x xs

type family UniqueIfExists ys x xs :: Constraint where ...

type IsDistinct xs

type family Nub (xs :: [k]) :: [k] where ...

type Unique x xs

type UniqueLabel l xs

type family UniqueLabels (ls :: [k1]) (xs :: [k]) :: Constraint where ...

type IndexOf x xs

type PositionOf x xs

type KindAtIndex n xs

type KindAtLabel l xs

type family KindAtPositionIs (n :: Nat) (x :: k) (xs :: [k]) :: Constraint where ...

type family KindsAtIndices (ns :: [Nat]) (xs :: [k]) :: [k] where ...

type family KindsAtLabels (ls :: [k1]) (xs :: [k]) :: [k] where ...

type family Without (x :: k) (xs :: [k]) :: [k] where ...

type Replace x y xs

type Replaces xs ys zs

type WithoutIndex n xs

type ReplaceIndex n y xs

type ReplacesIndex ns ys xs

type family Tail (xs :: [k]) :: [k] where ...

type family Head (xs :: [k]) :: k where ...

type family Last (xs :: [k]) :: k where ...

type SameLength xs ys

type family Complement (xs :: [k]) (ys :: [k]) :: [k] where ...

type family Append (xs :: [k]) (ys :: [k]) :: [k] where ...

type family Init (xs :: [k]) :: [k] where ...

type Zip xs ys