I've been thinking about the best approach to implement pure function verification in the Scala compiler. An approach similar to the one in D would fit a lot better than the one used in Haskell (which would break all existing code and cause some problems due to strict evaluation). A solution using annotations would be quite simple to implement:
PUR Water Filtration System now offers cartridges providing raspberry, peach, and strawberry flavors from your tap; run clear, plain water - or raspberry water can be had with a simple button push!
Flavor cartridges for "Pur Water Filtration System;" your tap water can have fruit flavors when you turn on the water; just press a button to add flavoring to tap water.
Now, favor cartridges can be added to the "Pur Water Filtration System", so that your tap water can have fruit flavors...When you turn on the water, you can press a button to add flavoring to the water.