Kind of defeats the purpose of CSS Grid, no? You could avoid all that markup and just be semantic by targeting the elements directly instead.
You're right, you absolutely could avoid that markup. But, some developers (and some developers for some projects) prefer to use small utility classes in this fashion.
Take a gander at tachyons, which follows a similar pattern.
Fair enough! I would actually tend to favor something like this for building large-scale apps. Semantic sounds good in theory, but in practice you'll likely be repeating yourself over and over (hence atomic frameworks such as Tachyons).
Thanks for sharing :)