What I do worry though, and why I did bring this up in the first place, is that the API being defined ends up being as easy and straightforward to use for key clients, as that's a major part in deciding whether the API is successful or not. Personally, with the assumption that I'll be writing notable parts of the higher-level components on top of the microkernel, I'd much prefer a type-safe API that doesn't require major string processing.
And like I said earlier people will start to write their own wrappers to cope with the unwieldiness of the original API. And the windows will be broken...
Michael