interface Depends { depends() []Depends } struct Signal { } fn (x Signal) depends() []Depends { return [] } struct Add { a Signal b Signal } fn (a Add) depends() []Depends { return [a.a, a.b] } fn test_generics_interface_decl() { assert true }