Annotate + documentation.

While debugging #740 I had a 'hard' time to debug. This PR helps a little.
We actually return a version specific subclass of Rolebase. Is this minor inaccuracy acceptable?