Locally I simply added a type constraint to method new for class Failure:

$ diff src/core/Failure.pm Failure.pm.orig 
5c5
<     method new(Exception $exception) { self.bless(:$exception) }
---
>     method new($exception) { self.bless(:$exception) }

With that change the error message became:

$ perl6 -e 'Failure.new("foo").();'
Type check failed in binding $exception; expected 'Exception' but got 'Str'
  in method new at src/gen/m-CORE.setting:15706
  in block <unit> at -e:1

Would that be good enough?

Reply via email to