There are examples of very efficient IPC, just not in UNIX-land. If your IPC system is integrated with the scheduler, the difference between a dynamic library call and IPC can be minimized into irrelevance.
I was not certain that data serialization and copying is required. Is that always true? You can’t do IPC with some shared memory setup?
Inside one application OK but for other use it'd be a security and stability nightmare: less memory protection..