See the rather verbose docblocks in this diff for more information. Additional rationale will be contained in the commits that follow.