Girar uma matriz 90 graus no sentido horário

Retorne uma matriz quadrada girada 90 graus no sentido horário. O método genérico deve preservar o tipo dos elementos da matriz.