I thought I understood this but obviously not...
I have a method signature like so:
void doSomething(List typeAs){...}
Try this:
void doSomething(List> typeAs) { ... }
Note the at the beginning of the line. That way doSomething accepts every List containing any TypeAs.