Split introduce_level out of finish_level so that the first level may also
have a textual description, and fix a SyntaxWarning and add more docs.