I recommend that there be a "functional" keyword, which when applied to functions, would not allow them to modify existing data, or call impure functions. This would imply pure. Thoughts?