part three
Part 3: Why function purity matters