Title: Isolating impurities in functional languages