I wonder why we don't just typecheck the in the place where it is defined (ie, in the original method definition), and then transplant it into the RHS of the default getter with the normal routine of substitution of type- and value-parameter symbols. We will still need some special handling of the expected type of polymorphic defaults, but that should be the only magic.