Input and local slots' types can be specified statically for performance or documentation reasons, if desired. The special character ``!'' is used in the same manner as the dispatch annotation ``@'', but type-annotations can occur anywhere. The type system and inference system in Slate is part of the standard library, and so is explained later in sub:Types.