What's interesting to note on this not so trivial example (we have variants -> className; base style attrs that can be expended)
- comprehensive img props types + automatically passed
- auto extra classNames (& style) merging
- auto ref forwarding, if need be
It's debatable that writing such component is simpler than the classic approach but the outcome is undoubtly better.
There are also nice ways to handle variants and such.