## <

`func <(lhs:rhs:)(lhs: (), rhs: ()) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

An arity zero tuple is never strictly before another arity zero tuple in a lexicographical ordering.

`func <(lhs:rhs:)(lhs: (A, B), rhs: (A, B)) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the first tuple is before the second tuple if and only if `a1 < b1` or (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).

`func <(lhs:rhs:)(lhs: (A, B, C), rhs: (A, B, C)) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the first tuple is before the second tuple if and only if `a1 < b1` or (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).

`func <(lhs:rhs:)(lhs: (A, B, C, D), rhs: (A, B, C, D)) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the first tuple is before the second tuple if and only if `a1 < b1` or (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).

`func <(lhs:rhs:)(lhs: (A, B, C, D, E), rhs: (A, B, C, D, E)) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the first tuple is before the second tuple if and only if `a1 < b1` or (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).

`func <(lhs:rhs:)(lhs: (A, B, C, D, E, F), rhs: (A, B, C, D, E, F)) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the first tuple is before the second tuple if and only if `a1 < b1` or (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).

`func <(lhs:rhs:)(lhs: (), rhs: ()) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

An arity zero tuple is never strictly before another arity zero tuple in a lexicographical ordering.

`func <(lhs:rhs:)(lhs: (A, B), rhs: (A, B)) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the first tuple is before the second tuple if and only if `a1 < b1` or (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).

`func <(lhs:rhs:)(lhs: (A, B, C), rhs: (A, B, C)) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the first tuple is before the second tuple if and only if `a1 < b1` or (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).

`func <(lhs:rhs:)(lhs: (A, B, C, D), rhs: (A, B, C, D)) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the first tuple is before the second tuple if and only if `a1 < b1` or (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).

`func <(lhs:rhs:)(lhs: (A, B, C, D, E), rhs: (A, B, C, D, E)) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the first tuple is before the second tuple if and only if `a1 < b1` or (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).

`func <(lhs:rhs:)(lhs: (A, B, C, D, E, F), rhs: (A, B, C, D, E, F)) -> Bool`

Returns a Boolean value indicating whether the first tuple is ordered before the second in a lexicographical ordering.

Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the first tuple is before the second tuple if and only if `a1 < b1` or (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).

`func <(lhs:rhs:)(lhs: Int, rhs: Int) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

This function is the only requirement of the `Comparable` protocol. The remainder of the relational operator functions are implemented by the standard library for any type that conforms to `Comparable`.

`func <(lhs:rhs:)(lhs: Int16, rhs: Int16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

This function is the only requirement of the `Comparable` protocol. The remainder of the relational operator functions are implemented by the standard library for any type that conforms to `Comparable`.

`func <(lhs:rhs:)(lhs: Int32, rhs: Int32) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

This function is the only requirement of the `Comparable` protocol. The remainder of the relational operator functions are implemented by the standard library for any type that conforms to `Comparable`.

`func <(lhs:rhs:)(lhs: Int64, rhs: Int64) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

This function is the only requirement of the `Comparable` protocol. The remainder of the relational operator functions are implemented by the standard library for any type that conforms to `Comparable`.

`func <(lhs:rhs:)(lhs: Int8, rhs: Int8) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

This function is the only requirement of the `Comparable` protocol. The remainder of the relational operator functions are implemented by the standard library for any type that conforms to `Comparable`.

`func <(lhs:rhs:)(lhs: UInt, rhs: UInt) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

This function is the only requirement of the `Comparable` protocol. The remainder of the relational operator functions are implemented by the standard library for any type that conforms to `Comparable`.

`func <(lhs:rhs:)(lhs: UInt16, rhs: UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

This function is the only requirement of the `Comparable` protocol. The remainder of the relational operator functions are implemented by the standard library for any type that conforms to `Comparable`.

`func <(lhs:rhs:)(lhs: UInt32, rhs: UInt32) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

This function is the only requirement of the `Comparable` protocol. The remainder of the relational operator functions are implemented by the standard library for any type that conforms to `Comparable`.

`func <(lhs:rhs:)(lhs: UInt64, rhs: UInt64) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

This function is the only requirement of the `Comparable` protocol. The remainder of the relational operator functions are implemented by the standard library for any type that conforms to `Comparable`.

`func <(lhs:rhs:)(lhs: UInt8, rhs: UInt8) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

This function is the only requirement of the `Comparable` protocol. The remainder of the relational operator functions are implemented by the standard library for any type that conforms to `Comparable`.