I wonder if there's a way to make asSeenFrom kind-preserving. It looks like this code is working around the fact that a fully-applied type ref (albeit to dummy type args) gets transformed into a polytype (so now we have a type constructor)