A value model represents the model of a Ceylon value that you can read and inspect.

A value is a toplevel binding, declared on a package.

This is a `ValueModel` that you can query for a value declaration's current value:

    shared String foo = "Hello";

    void test(){
        Value<String> val = `foo`;
        // This will print: Hello
        print(val.get());
    }

no type hierarchy

- `Value`
  - `Gettable`
  - `ValueModel`
    - `Model`
      - `Declared`

no subtypes hierarchy

Attributes
`declaration` | Source Code `shared formal ValueDeclaration declaration` This value's declaration. Refines `ValueModel.declaration` ultimately refines `Declared.declaration`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`
Attributes inherited from: `Declared` `container`, `declaration`
Attributes inherited from: `Model` `container`, `declaration`
Attributes inherited from: `ValueModel<Get,Set>` `declaration`, `type`

Inherited Methods
Methods inherited from: `Object` `equals()`
Methods inherited from: `Gettable<Get,Set>` `get()`, `set()`, `setIfAssignable()`