Can you please add a test for this? I *think* it should be possible to extend the existing server.idl with another function.
It turns out that, somewhat surprisingly, FC_BIND_PRIMITIVE really is different from FC_BIND_GENERIC and FC_BIND_CONTEXT. The latter two are written into the proc format string (and so are handled during unmarshalling), whereas FC_BIND_PRIMITIVE isn't. It may be worth adding a comment to that effect.
There's a whitespace error in one of the added lines (space before semicolon).