The C++ origin of Binder is annoying, but unlike original Binder[1] easily workable around especially given the exact format of messages is left up for implementation to decide outside few standard bits
[1] BeOS, the docs still match what is in Android :D
Not entirely , you need to agree on some constraints for wire protocol since the kernel ends up doing reference counting on objects sent through it.
That was in the "few standard bits", yes.