It's inconvenient and inelegant to have to target implementations.

Why?

who is "we"? what do you mean by "target"?

Yes.