Add semantics for non-member functions.
So that error handling is well-specified, add specifics of stream insertion and extraction, with reference to standard.
Tweak revision history.