I agree. This will be hard to scale to an entire application, I would not recommend using this as of now except for very platform independent logic, but hopefully with new releases and more meta-programming (or perhaps meta-meta-programming) features more usage options could be viable.