Stop relying on 'let' for 'fn', and fix broken argument pruning.