Reversing an append is appending reversals backwards.
The reverse of a cons is the reverse of the tail followed by the head.
Together with reverseNil serves as a specification for reverse.
The reverse of an empty list is an empty list. Together with reverseCons,
serves as a specification for reverse.
The final segment of the accumulator is the final segment of the result.
Serves as a specification for reverseOnto.
Reversing a reverse gives the original.
Reversing a singleton list is a no-op.