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