Desugar let x = y in z to (fn x => z) y