instantiate a template alias with a set of arguments
get the first item in a list of zero-parameter templates (patterns) which successfully compiles if all patterns fail, the final pattern is forcibly instantiated thus it can be useful to have a fallback or diagnostic in the final position