There are no error messages anymore: $ perl6 -e 'module foo; macro foo() { }; foo; foo();'
$ perl6 -e 'module foo; sub foo() { say "OH HAI" }; foo; foo()' As I understand it, both 'foo' and 'foo()' are invoking the class. (It is possible to call the sub with '&foo()', though.) $ perl6 -e 'module foo; sub foo() { say "OH HAI" }; say foo; say foo()' (foo) (foo(Any)) In the light of jnthn's comments, this looks right to me. So, is this closable with tests or did I misunderstand?