Data.Diverse.TypeLevel
type UniqueMember x xs
type family UniqueMembers (xs :: [k]) (ys :: [k]) :: Constraint where ...
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 SnocUnique (xs :: [k]) (x :: k) :: [k] where ...
type family AppendUnique (xs :: [k]) (ys :: [k]) :: [k] where ...
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
type family CasesResult (fs :: [k1]) :: k2 where ...