New Protocol
use Protocol;
protocol FormattableKeysProtocol {
method keys { ... }
method formatted-keys { $.keys.join: ", " }
}
constant FormattableKeys = FormattableKeysProtocol.coerce;
my FormattableKeys $a = %( a => 1, b => 2 );
say $a;
say $a.formatted-keys;
multi sub a(FormattableKeys $a) {
say $a + 1;
say $a.formatted-keys;
say $a.^name
}
a %(x => 1, y => 2, z => 3);INFO