Adhere to (or circumvent) stricter 2.11 variance checks

Focus is to get things compiling again. The places with
`@uncheckedVariance` might need review/deprecation.

Good old Liskov features heavily.
Merge pull request #596 from retronym/topic/variance

Adhere to / circumvent stricter 2.11 variance checks