-------- @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

