It is better with certain languages, and it is better when you encode business logic into your type system.
I would love to encode the business logic into types. But, I am always afraid I might end up in type hell!
Edit: In fact, there's this library! https://github.com/acowley/Frames