Apologies for the rebase. I missed the conditional compilation, it's been corrected, along with bugfixes for the ancestor/sibling test.