Changes since v4: - Old 1/3 was accepted, shifting the patch numbers - Removed pythonisms and bad line edits in 1/2: fix long line warnings - Removed bad patch/commit separation in 2/2: brace style fixes