Having these be templatized was causing horrible things where struct types would forget their true generator templates. Highlights the problems of overusing templatize (instead of also having a more general-purpose 'memoize' method).