https://mysteryweevil.medium.com/mastering-functional-programming-techniques-a-guide-to-list-comprehensions-in-python-7c842f71dcc0