[WIP - don't merge] Implement the typer

Maybe `void` is better here?