Work around to resolve issue with classes not matching methods that use signitures containing virtual classes, e.g. class unions.
Also roxygen documentation updates, and package structure clean up.