+100
I first heard of this in the great Functional Core, Imperative Shell [1] screencast of Destroy All Software. It allows you to easily unit test your functional core (as they're just pure functions).
[1] https://www.destroyallsoftware.com/screencasts/catalog/funct...