struct Alfa {
	char rune
}

fn (a Alfa) letter() rune {
	return a.char
}

struct Bravo {
	char rune
}

fn (b Bravo) letter() rune {
	return b.char
}

struct Charlie {}

type NATOAlphabet = Alfa | Bravo | Charlie

fn method_not_exists() {
	a := Alfa{}
	l := NATOAlphabet(a)
	match l {
		Alfa, Charlie {
			assert l.char == `a`
			assert l.letter() == 'a'
		}
		Bravo {
			assert false
		}
	}
}
