Reliably preventing let-floating and thunk overwriting?