Don't shadow fn. It's just so confusing.