struct Struct {
	struct_name string
}

struct Interface {
	interface_name string
}

type Info = Interface | Struct

fn main() {
	mut info := Info{}
	info = Struct{
		struct_name: 'Foo'
	}
	s := info as Struct
	println(s.struct_name)
	i := info as Interface // wrong
	println(i.interface_name)
}
