genericPrototypeProperty.ts(2,5): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
genericPrototypeProperty.ts(3,20): error TS2322: Type 'null' is not assignable to type 'T'.
  'T' could be instantiated with an arbitrary type which could be unrelated to 'null'.


==== genericPrototypeProperty.ts (2 errors) ====
    class C<T> {
        x: T;
        ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
        foo(x: T): T { return null; }
                       ~~~~~~
!!! error TS2322: Type 'null' is not assignable to type 'T'.
!!! error TS2322:   'T' could be instantiated with an arbitrary type which could be unrelated to 'null'.
    }
    
    var r = C.prototype;
    // should be any
    var r2 = r.x
    var r3 = r.foo(null);