This "refactoring" is considered super hard.
I learned the lesson that it's unsurprisingly bad to maintain the "internal encoding" from dependent types, e.g.:
- Value function is encoded as:
(args: (n: number) * (s: string) * unit) => unit
- So the function parameters are encoded as:
const [n, _0] = args; const [s, _1] = _0;
These bring too much pain throughout the codebase. It's time to eliminate the burden.
This "refactoring" is considered super hard.
I learned the lesson that it's unsurprisingly bad to maintain the "internal encoding" from dependent types, e.g.:
(args: (n: number) * (s: string) * unit) => unitconst [n, _0] = args; const [s, _1] = _0;These bring too much pain throughout the codebase. It's time to eliminate the burden.