double(x) {
    return x + x;
  }
Classes whose instances should be Far objects may find it convenient to
inherit from this base class. Note that the constructor of this base class
freezes the instance in an empty state, so all is interesting attributes
can only depend on its identity and what it inherits from.
This includes private fields, as those are keyed only on
this object's identity. However, we discourage (but cannot prevent) such
use of private fields, as they cannot easily be refactored into Exo state.