This uppercased names of array element hurt my eye. But AFAIK changing them to lowercased will require additional logic after parsing templates, won't it?