Implicit derivation of an AtLeastN for any HList.
Implicit derivation of an AtLeastN for any HList.
Derivation will succeed iff:
These rules are enforced through implicit evidences.
The original HList for which we require an instance of AtLeastN
The desired minimum length of L
The computed effective length of L
The computed Coproduct of all types present in L
The LUB of the Coproduct LS
The required type that all types in L must be strict subtypes of
Is the evidence of L's length N0
Is the evidence that N0 is greater or equal than N
Is the evidence that going from type-level's Nat's N0 to value-level Int is possible
Is the evidence of the Coproduct LS of all types found in L
Is the evidence of the LUB UL of Coproduct's LS
Is the evidence that the computed LUB UL is a strict subtype of A, which, by definition of Coproduct and Lub (implicitly used by Unifier), implies the desired constraint, i.e. that all types in L are strict subtypes of A
An implicitly derived instance of AtLeastN for L, N and A