Si alguien anda con go, este articulo me está gustando mucho. Habla sobre como el compilador go analiza codigo antes de ejecutarse para saber si los tipos son correctos. Se ve que la capacidad de un lenguaje de analizarse a si mismo se llama reflexion. https://blog.golang.org/laws-of-reflection