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 Remove (x :: k) (xs :: [k]) :: [k] where ...
type Replace x y xs
type Replaces xs ys zs
type RemoveIndex n xs
type ReplaceIndex n y xs
type ReplacesIndex ns ys xs
type family Before (x :: k) (xs :: [k]) :: [k] where ...
type family To (x :: k) (xs :: [k]) :: [k] where ...
type family After (x :: k) (xs :: [k]) :: [k] where ...
type family From (x :: k) (xs :: [k]) :: [k] where ...
type family BeforeIndex (n :: Nat) (xs :: [k]) :: [k] where ...
type family AfterIndex (n :: Nat) (xs :: [k]) :: [k] where ...
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 CaseResult (c :: [k1] -> k2) (x :: k1) :: k2
type family CaseResults (c :: [k1] -> k2) (xs :: [k1]) :: [k2] where ...
type family AllConstrained (c :: k -> Constraint) (xs :: [k]) :: Constraint where ...