alternative functional DOMCompiler