regarding databases, you get quite far using purely functional data structures and zippers.
- https://www.cs.cmu.edu/~rwh/students/okasaki.pdf
- https://en.wikibooks.org/wiki/Haskell/Zippers