I've just pulled everything from Taylan's latest pull request and published it as draft #4.  Here's his summary:

This update mostly just clarifies things. There are no changes to the implementation.

Commit Summary

File Changes