With that said, we abandoned `ab = ba` because it's not useful for e.g. linear algebra. Elementary algebra is a very specific (but very useful) mathematical "DSL" over the reals. It's also not necessarily going to help you learn to reason about the kinds of abstractions you have whilst programming, per se, because we can't reverse `a . b` to `b . a` when we code either.
Make no mistake, this is a knowledge for knowledge's sake endeavor. A liberal arts of the STEM fields, if you will.