https://medium.com/@monocosmo77/applications-of-pattern-matching-part2-artificial-intelligence-c5400cecd9a3