For instance: finite-difference gradients, caching, operations on functions, gradient checking, logging etc.