canon template types to tuples