Thanks, has been important to align with spec exactly to get good feedback back to the spec authors. In due course once the spec is stable we can start cutting more corners on the internal implementation, but I really wanted to understand and verify it. Has been a lot of work to get to grips with the language, glad it is appreciated!