import ceylon.language.meta.declaration { ValueDeclaration } """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()); } """ shared sealed interface Value<out Get=Anything, in Set=Nothing> satisfies ValueModel<Get, Set>&Gettable<Get, Set> { "This value's declaration." shared formal actual ValueDeclaration declaration; }