As we discussed in jabber, the comments have now been pushed, and several of the rctx functions have been renamed for clarity. I didn't make any functional changes in that big commit (I promise) so if you just read the comments and they make sense, I think it's fine. An additional small functional change was made after that. Unit tests aren't coming now, but they'll be considerably more doable after this is committed and hopefully we'll get to them later.