I would propose that only the most obvious methods be placed into the
shared interface initially. People could propose the addition of
other methods after significant thought in the future. Certainly
though, there are many typical query methods that would be safe to
share. If there are significant semantic differences in methods with
the same signature, then just don't share them now. I don't
personally see any reason to have such a base interface. Although
ISessionImplementor is a common interface, it's not intended to be the
public face of the API, and having a public shared face is obviously
useful (or people wouldn't be requesting it repeatedly).
Patrick Earl