type foo struct {
}

func (a *foo) * (b *foo) *foo

func (a *foo) + (b *foo) *foo {
	println("a + b")
	return &foo{}
}

func (a foo) / (b foo) foo {
	println("a / b")
	return foo{}
}

func -(a foo) {
	println("-a")
}

func ++(a foo) {
	println("a++")
}
