If the operation argument is of type T, where T is an interface type (ie Node) we should throw a TypeError if the value is not a T. Currently we always convert this to null leading us to pass null into the webcore function. DOM spec: Node insertBefore(Node node, Node? child); WebKit IDL: If we call insertBefore(someNode, 42) we fail to convert 42 to a Node so we treat it as null which is not correct.