I have used something similar with effects in Haskell to mock "the real world" for running tests.
But if it was as convoluted to use as it's in Java, I wouldn't. And also, it's not enterprise CRUD. Enterprise CRUD resists complex architectures like nothing else.