Practical Functional Programming
hackernoon.com