https://medium.com/omio-engineering/why-we-develop-and-use-language-stacks-not-languages-e83fd85c7f05