-------- @implements E --------
empty interface type E

-------- @implements F --------
interface type F
	is implemented by pointer type *C
	is implemented by struct type D
	is implemented by interface type FG

-------- @implements FG --------
interface type FG
	is implemented by pointer type *D
	implements F

-------- @implements slice --------
slice type []int implements only any

-------- @implements C --------
pointer type *C
	implements F

-------- @implements starC --------
pointer type *C
	implements F

-------- @implements D --------
struct type D
	implements F
pointer type *D
	implements FG

-------- @implements starD --------
pointer type *D
	implements F
	implements FG

-------- @implements sorter --------
slice type sorter
	implements lib.Sorter

-------- @implements I --------
interface type I
	is implemented by basic type lib.Type

-------- @implements var_d --------
struct type D
	implements F
pointer type *D
	implements FG

