I really enjoyed this blog post about how the best OOP and FP solutions to the expression problem are really the same approach: https://oleksandrmanzyuk.wordpress.com/2014/06/18/from-object-algebras-to-finally-tagless-interpreters-2/
Unfamiliar with the expression problem? That's okay, the author explains it very clearly. No background necessary!