Keyword final

Functions for supporting immutability inspired by Java's final keyword.

Immutability is an important aspect of functional programming, but many immutable data structures, such as Record, require all accessor fields to be set on object creation. The final keyword in Java allows various constructs to be declared "write once." These constructs initially have no value. They can be given a value once, after which they become immutable.