This is a newtype that implements Splittable for anything that can be
turned into an iterator whose items take the form of a (key, value) pair
where key meets all the bounds needed for a Splittable key.
This tracks the connections that have been made to a split. This can be
retrieved from SplitBuilder by calling SplitBuilder::outputs.
You can then continue building connections by calling SplitOutputs::build.
This enum allows users to key into splittable list-like structures based on
the sequence in which an item appears in the list. It also has an option for
keying into any items that were left over in the sequence.
This enum allows users to key into splittable map-like structures based on
the presence of a specific value or based on the sequence in which a value
is reached that wasn’t associated with a specific key.
This is a type alias for the result returned by the branching SplitBuilder
functions. If the last connection succeeded, you will receive Ok with
the SplitBuilder which you can keep building off of. Otherwise if the
last connection failed, you will receive an Err with the SplitBuilder
bundled with SplitConnectionError to tell you what went wrong. You can
continue building with the SplitBuilder even if an error occurred.