Split Desugar into Name and Types modules, and add more docs