[WIP - don't merge] Implement the typer