Every list has a declared number of opt-fads, which declaration will sit alongside what must be called the head of the list, although we have to restate every time that this is not necessarily the first item. The number of opt-fads must be an even number, as it is twice the number of ordering chains. Naturally, this value cannot be changed if the list is non-empty.
Thus we come to the first rule that must be adhered to by users of the lib: changing the number of chains is not something that is likely to be done, so that we merely reserve the identifier, change_list_chain_count, to be implemented whenever.
While I'm at it, do I need to explain why I don't build a pack of exit values?
Yeah! yeah! yeah! one of these fine days subroutines will declare a list of exit identifiers, by which we can ensure completeness on the part of the calling routine. But we're going to need a database for the code. Donations are welcome, but don't tell me to tell you about good and evil first. In the meantime I need to make a hack, because, while I've repudiated code generation as an alternative to the improving of a language, the ioccc confirms that if one cannot be good then one aught to be good at it.
List item blocks must only be read from or written to with a subroutine which includes the list's chain count. It would not be to any avail to require the lib to read this value from the list's properties for every item read or write; so that now we have a rule for which, if we do not give ourselves the luxury of relying on strict typing, we would find ourselves undermining the reason we started on the lib in the first place. Various terms have been applied to what we intend to do, but all of them that we know of have been overloaded. The term pivot once came to a mind, but the mind was a lonely one; we can imagine a bicycle with a magical chain, for that is an old idea of a younger person who gives us full permission to recycle his ideas. And thus we have a use for the word bicycle.
But it is the thing that mounts that in almost all cases is the one that can listen to our instructions without screeching.
Code generation such as we require is most often easiest to do with Bash scripts. But now we can give Alice something useful to do. I hear the ioccc has forgotten the letter they must write three times whenever they write their name; were that not the case I'd think about entering the races.
I love you lots. Maybe one day I'll have a hobby that everyone calls appropriate and treats single men equally to those who are not.
But I'm trying not to be too logical.