not suggesting it in this PR, but I wonder if an eventual goal should be to move the implementation of the high-level API into the client, so each probe will only implement low-level. that way all the compat hacks are kept in the client lib.