An abstraction of things that have a value which be got, and possibley set.

no type hierarchy

no supertypes hierarchy

- `Gettable`
  - `Value`
  - `ValueConstructor`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`

Methods
`get` | Source Code `shared formal Get get()` Reads the current value for this value binding. Note that in the case of getter values, this can throw if the getter throws. Throws `StorageException` If this attribute is not stored at runtime, for example if it is neither shared nor captured.
`set` | Source Code `shared formal void set(Set newValue)` Changes this variable's value to the given new value. Note that in the case of setter attributes, this can throw if the setter throws. Throws `StorageException` If this attribute is not stored at runtime, for example if it is neither shared nor captured.
`setIfAssignable` | Source Code `shared formal void setIfAssignable(Anything newValue)` Non type-safe equivalent to `set()`, to be used when you don't know the variable type at compile-time. This only works if the underlying value is variable. Note that if the underlying variable is a setter, this can throw exceptions thrown in the setter block. Throws `IncompatibleTypeException` If the specified new value is not of a subtype of this variable's type `MutationException` If this value is not variable `StorageException` If this attribute is not stored at runtime, for example if it is neither shared nor captured.

Inherited Methods
Methods inherited from: `Object` `equals()`