1. A computer program product comprising: a non-transitory computer readable storage medium; and computer usable code stored on the non-transitory computer readable storage medium, where, when executed by a processor, the computer usable code causes a computer to: determine that a template in a source code is a meta-template and a template in the source code is in a form other than the meta-template; create a set of entries in a first data structure of an alternate type system for the meta-template, wherein each entry of the set of entries is to correspond to a separate recursive instantiation, and wherein the alternate type system is to include a graph having a node for each separate recursive instantiation; and conduct an evaluation of the set of entries in the first data structure of the alternate type system to generate a single entry in a second data structure of a regular type system that is to be utilized to resolve a problem, wherein the single entry is to correspond to a result of the evaluation, and wherein the second data structure of the regular type system is to include an entry for the template in the form other than the meta-template.