https://blog.stackademic.com/the-art-of-writing-clean-code-mastering-declarative-programming-28b1e17adc14