Type specifications are expand–time objects that describe the characteristics of object–types. Type specifications are part of the lexical environment and are contained in syntactic binding’s descriptors.
Every type annotation has an internal representation as type
specification. Usually we do not have to deal with type specifications;
so most of the syntactic bindings are exported by the library
(vicare expander). For details (vicare-scheme)Object-type specifications.