most of the spec for use-site variance #1029 #798
fix big bug in forming principal instantiations with use-site variance
it helps to have a spec! #798 #1029