[WIP] Adicionando casts as plataformas

Como esse é um pull request mais longo, abri ele logo antes de terminar, assim podemos ir debatendo aqui o código.
Sim. =)