Code generator that preserve original source lines
In order to keep meaningful stack traces, the transformed code should keep the line numbers from the original source file. That way, errors are thrown from the same line for a given source statement. This avoids the need to source maps