This version is not generic with respect to the functor type, meaning it’s far less capable and flexible than its dynamically typed and Haskell typed counterparts.
I’m not even sure how to address the other portion of your comment. Are you suggesting that concise, readable, understandable code is not a worthy design goal, or that it doesn’t matter if the meaning of code gets really lost in syntax noise? Again I’d need to strongly disagree.
“Programs must be written for people to read, and only incidentally for machines to execute.” ~ Ableson and Sussman, “Structure and Interpretation of Computer Programs”