I find that there is a lot of value in learning "how the sausage is made". Implementing your own baby version of the things you take for granted in higher-level languages is an interesting exercise — e.g. things like dynamic dispatch.
These are things that are not directly useful, but help you have a better mental model of how your language of choice actually works.
These are things that are not directly useful, but help you have a better mental model of how your language of choice actually works.