> And just like that, you find yourself implementing a compiler (specs to plan) and a virtual machine (plan to actions)!
Not just any compiler, but a non-typesafe, ad-hoc, informally specified grammar with a bunch of unspecified or under-specified behaviour.
Not sure if we can call this a win :-)
Greenspun's tenth rule in action!
It can be type safe and testable with free monads