class Note does Callable {
has $.note;
multi method CALL-ME(UInt $oct) {
"$!note$oct"
}
multi method CALL-ME { self }
}
my &G = Note.new: :note<G>;
sub infix:<♯>(Note $note, UInt $oct) {
$note.clone(:note($note.note ~ "#")).($oct)
}
sub infix:<♭>(Note $note, UInt $oct) {
$note.clone(:note($note.note ~ "b")).($oct)
}
say G 4;
say G♯ 4;
say G♭ 4;