-------- @implements F.f -------- abstract method func (F).f() is implemented by method (*C).f is implemented by method (D).f is implemented by method (FG).f -------- @implements FG.f -------- abstract method func (FG).f() is implemented by method (*D).f implements method (F).f -------- @implements FG.g -------- abstract method func (FG).g() []int is implemented by method (*D).g -------- @implements *C.f -------- concrete method func (*C).f() implements method (F).f -------- @implements D.f -------- concrete method func (D).f() implements method (F).f concrete method func (D).f() implements method (FG).f -------- @implements *D.g -------- concrete method func (*D).g() []int implements method (FG).g -------- @implements Len -------- concrete method func (sorter).Len() int implements method (lib.Sorter).Len -------- @implements I.Method -------- abstract method func (I).Method(*int) *int is implemented by method (lib.Type).Method