I've been building an 'extract function' refactor feature. It's surprisingly nuanced. Where do you put the extracted function? Once you've done the static analysis, what order do you use for the parameters?