But then, you could always use ternary tables:
say do { ($grade eq 'A') ? 'Well done!'
: ($grade eq 'B') ? 'Try harder!'
: ($grade eq 'C') ? 'You need help!!!'
: 'You are just making it up!'};
I guess `given` with smart-match looks better when the implicit `~~` test is more complicated than `eq`.