The idea of deep learning as &quot;differentiable functional programming&quot; resonates with me. It makes me wonder if one could build an elegant monadic interface for deriving networks, where you could bind on the results of previous layers and use traditional functions to build new ones. That would be powerful.