C will advance that arrow and will call the C or the C callback, depending on which arrow it advanced. If both arrows point to elements that are not part of the LCS, then C will advance one of them and call the appropriate callback, but it is not specified which it will call. They are not expected to return any values. If a callback is omitted from the table, it is not called. Similarly if arrow B finishes first.
C returns when both arrows are at the ends of their respective sequences.
It returns true on success and false on failure. At present there is no way to fail. If not specified, or if C , it defaults to C . Any additional arguments to C are passed to the callback functions. For examples of how to use this, see the code.