I think the original text is correct, mixin templates work a lot like imports, so functions aren't overloaded unless you use alias. In this example Bar.func is called because Foo.func wouldn't work without an argument. If you changed to Bar.func(long x) the example would correctly exemplify the point.