interface Animal {
name()
}
struct Cat {}
fn (c Cat) name(s string) {}
fn foo(a Animal) {}
fn main() {
foo(Cat{})