What if it's not?

I think the better way to do this would be to add the following as the first step: "Let `data` be the result of converting `data` to an `UDPMessage` (per WebIDL dictionary conversion)". That way if the conversion fails it will cause a `TypeError` which is what you'd expect.