extern func puts(fmt: cstring) interface Printable { func print() } struct Human : Printable { name: cstring func print() { puts(this^.name) } } func main(args: []cstring): i64 { let human = alloc Human { name = "oliver" } human.print() print_printable(human) return 0 } func print_printable(printable: Printable) { printable.print() }