With Rakudo commit we get the same output on MoarVM and JVM:
$ ./perl6-j -e 'sub aa (Mu:D $a) { }; aa(Int)'
Parameter '$a' requires an instance of type Mu, but a type object was passed.
Did you forget a .new?
in sub aa at -e line 1
in block at -e line 1
$ ./perl6-j -e 'sub aa (Mu:U $a) {
# New Ticket Created by Zefram
# Please include the string: [perl #126124]
# in the subject line of all future correspondence about this issue.
# https://rt.perl.org/Ticket/Display.html?id=126124 >
$ ./perl6 -e 'sub aa (Mu:D $a) { }; aa(Int)'
Parameter '$a' requires an instance of type Int,