Summary

Allow type definitions to be exported.

Metadata

Description

Currently, there is no way for a module to export type definitions for public use. (i.e. if a module M defines a type T, there is no way for programs that import M to make use of T; they must use * instead). This severely limits the usefulness of the (chicken type) system, since type checking cannot be used on types outside of the CHICKEN core.

I'd propose an `export`-like form, e.g. `(export-type TYPE ...)` which makes type definitions created with `define-type` available beyond the scope of the containing module.