Actually, it's not about the error message. The whole thing can be golfed to this:
enum Foo (:Bar(1), :Baz(True)) And the error happens because: Code: use nqp; say so nqp::istype(True, Int); nqp::rebless(True, Int) Result: True Incompatible MROs in P6opaque rebless for types Bool and Int in block <unit> at -e line 3 Or something like that. So it is “istype” of something but you can't rebless it. The type is checked here: https://github.com/rakudo/rakudo/blob/de0533c4d4c9f425ce22432a8e4555ded27cba91/src/Perl6/Actions.nqp#L4621 Rebless is here: https://github.com/rakudo/rakudo/blob/5144216f6ea723747cb25fea51f99861c1ea213a/src/Perl6/World.nqp#L3629 IRC logs: https://irclog.perlgeek.de/perl6/2017-10-07#i_15272313 https://irclog.perlgeek.de/perl6/2017-10-08#i_15272350 I really don't know what to do about it. You cannot just .Int it because stringy enums exist (enum Foo (:Bar("foo")); say Bar). It's weird. On 2016-07-10 07:01:59, c...@zoffix.com wrote: > Still present today on rakudo 89470a: > > <Zoffix> m: enum Foo <<:Bar(1) :Baz>> > <camelia> rakudo-moar 89470a: OUTPUT«===SORRY!===Incompatible MROs in > P6opaque rebless for types Bool and Foo»