allow using structs to execute templates rather than maps