/*
class C<A>{
    A f;
    m(b, c){
        c.f = b;
        c.m(b, c);
    }
}
*/
class C<X>{
    X f;
    m(b, c, d){
        this.f = b;
        this.f = c.f;
        c.m2(d);
    }

    m2(a){
        a.f = this.f;
    }
}