tl;dr: Is there a reflective/introspective mechanism to query live objects for their capabilities?
The protocol is vast, but certain parts only apply to certain types of targets (e.g. 'Page.captureScreenshot' will fail on an iframe target). At first, I thought maybe target types matched up 1-to-1 with a domain, but, while there is a Page domain, there is no IFrame domain.
I noticed the Schema domain, which sounded promising if directed to a session for a particular target, but it is deprecated.