We're dropping prefixes in the signature of the SAM.

```scala
% cat sandbox/test.scala
object Test {
  trait T { type U; def ap(a: String): U }; (xs => ???): T
}

% qbin/scalac -Xprint:typer -Xexperimental sandbox/test.scala
[[syntax trees at end of                     typer]] // test.scala
package <empty> {
  object Test extends scala.AnyRef {
    def <init>(): Test.type = {
      Test.super.<init>();
      ()
    };
    abstract trait T extends scala.AnyRef {
      type U;
      def ap(a: String): T.this.U
    };
    ({
      def ap$body(xs: String): Test.T#U = scala.this.Predef.???;
      @SerialVersionUID(0) final class $anonfun extends AnyRef with Test.T with Serializable {
        def <init>(): <$anon: Test.T> = {
          $anonfun.super.<init>();
          ()
        };
        final override def ap(xs: String): Test.T#U = ap$body(xs)
      };
      new $anonfun()
    }: Test.T)
  }
}

sandbox/test.scala:2: error: overriding method ap in trait T of type (a: String)this.U;
 method ap has incompatible type
  trait T { type U; def ap(a: String): U }; (xs => ???): T
                                                ^
```

Elsewhere, we call `pt memberInfo sam` which gives `(a: String)Test.T#U`. Instead, we would need: `pt.typeSymbol.thisType memberInfo sam` which gives `(a: String)T.this.U`. This in turn presents a challenge: we still need to `substituteThis` with the symbol of the derived class, which we're trying to avoid creating a symbol for manually.