Am I missing something or is unsafeCoerce the only way to get your hands on a ParentNode? parentNode is the only sort-of related function, and it returns a Node.
Should querySelector just take an Element? querySelector itself already returns a Maybe to handle failure and the JS querySelector function is a method on Element.