Does anyone use CMSIS-Driver specification?

In the CMSIS-Driver specification, all interface structs and functions are described as plain C.

But the function calls simply won't work in plain C, they must be C++  in order to receive the hidden "this" parameter.

Same with callbacks - they must receive reference to their "this" object.

So the question - does anybody actually implement drivers per this spec, if yes then how? C or C++?