sub fails-if-passed-Rat (FatRat $r) { say WHAT $r } ; sub works-if-passed-number (FatRat() $r) { say WHAT $r } ; fails-if-passed-Rat 1.0 ; # typecheck failure works-if-passed-number 1.0 ; # coerces 1.0 to a FatRat my FatRat $r = 1.0 ; # typecheck failure my FatRat() $r = 1.0 ; # should say "not yet implemented"