abstract class Foo { type T; def foo(a: T): Int = 0; val foo: Foo = null; def a: foo.T = a; }