* allows hacks
* don't repeat yourself
** variable interpolation
** conditional sections
* hard to use
** strict syntax
** cryptic error messages
* difficult to validate
* impossible to automatically change or convert
* leaky abstraction
* part of the application