I had an issue raised in my new implementation that highlighted a bug around if/then/else appearing in the "wrong" order in a schema. Would be a good few tests to have.
I'm on mobile, so I'm just making a note, really. I'll try to work up a PR later.