Muitas coisas feitas. Faltando apenas validar expressao de returns e muitos testes.