Add caching to improve typer performances
Update pretty printer
Move typer to Typer module
Rewrite primitive values typing