Neural Networks, Types, and Functional Programming — colah’s blog