Which would you rather refactor: a codebase with immutable types but dynamic types, or pervasive mutability with static types, and why?