Fixes to protocols. Annotate protocol methods in correct ns.
Protocols use reflection to lookup descendants during subtyping.
Annotate protocols in other namespaces
Improve docstrings