COMMON-LISP TYPE SCHEME
=======================

T
*	NIL < all types

C	METHOD
C	METHOD-COMBINATION
C	STANDARD-OBJECT
C		CLASS
C			BUILT-IN-CLASS
C			STRUCTURE-CLASS
C			STANDARD-CLASS
C		STANDARD-METHOD (METHOD, STANDARD-OBJECT)
C	STRUCTURE-OBJECT

*	BOOLEAN = (MEMBER T NIL)

C	SYMBOL
*		KEYWORD
C	PACKAGE
C	FUNCTION
*		COMPILED-FUNCTION
C		GENERIC-FUNCTION
C			STANDARD-GENERIC-FUNCTION

C	NUMBER
C*		COMPLEX	[type]
C*		REAL [low-lim [up-lim]]
C*			FLOAT [low-lim [up-lim]]
*				SHORT-FLOAT [low-lim [up-lim]]
*				SINGLE-FLOAT [low-lim [up-lim]]
*				DOUBLE-FLOAT [low-lim [up-lim]]
*				LONG-FLOAT [low-lim [up-lim]]
C*			RATIONAL [low-lim [up-lim]]
C				RATIO
C*				INTEGER [low-lim [up-lim]]
*					FIXNUM
*					BIGNUM
*				    SIGNED-BYTE [len | *]
*					UNSIGNED-BYTE [len | *]
*					    BIT == UNSIGNED-BYTE 1
*				    MOD up-exclusive-lim


C	RANDOM-STATE

C	CHARACTER
*		BASE-CHAR
*			STANDARD-CHAR
*		EXTENDED-CHAR

*	ATOM = (NOT CONS)
C	SEQUENCE
C		LIST
C			NULL (SYMBOL LIST)
C*			CONS [{type | *} [{type | *}]]

C*	ARRAY [{elt-type | *} [rank | * | ({dimension | * }*)]]
*		SIMPLE-ARRAY [{elt-type | *} [rank | * | ({dimension | * }*)]]
C*		VECTOR [{elt-type | *} [{size | *}]]
*			SIMPLE-VECTOR (SIMPLE-ARRAY VECTOR)
C*			BIT-VECTOR [{size | *}]
*				SIMPLE-BIT-VECTOR [{size | *}]
C*			STRING [{size | *}]
*				SIMPLE-STRING [{size | *}]
*				BASE-STRING [{size | *}]
*					SIMPLE-BASE-STRING [{size | *}]

C	HASH-TABLE

C	PATHNAME
C		LOGICAL-PATHNAME

C	STREAM
C		BROADCAST-STREAM
C		CONCATENATED-STREAM
C		ECHO-STREAM
C		FILE-STREAM
C		STRING-STREAM
C		SYNONYM-STREAM
C		TWO-WAY-STREAM

C	READTABLE

	RESTART
	CONDITION
		WARNING
			STYLE-WARNING
		SERIOUS-CONDITION
			STORAGE-CONDITION
			ERROR
				TYPE-ERROR
				PARSE-ERROR
				CONTROL-ERROR
				PROGRAM-ERROR
				CELL-ERROR
					UNDEFINED-FUNCTION
					UNBOUND-SLOT
					UNBOUND-VARIABLE
				PACKAGE-ERROR
				ARITHMETIC-ERROR
					DIVISION-BY-ZERO
					FLOATING-POINT-INVALID-OPERATION
					FLOATING-POINT-INEXACT
					FLOATING-POINT-OVERFLOW
					FLOATING-POINT-UNDERFLOW
				FILE-ERROR
				STREAM-ERROR
					READER-ERROR (PARSE-ERROR STREAM-ERROR)
				PRINT-NOT-READABLE
		SIMPLE-CONDITION
			SIMPLE-WARNING (WARNING SIMPLE-CONDITION)
			SIMPLE-ERROR (ERROR SIMPLE-CONDITION)
			SIMPLE-TYPE-ERROR (TYPE-ERROR SIMPLE-CONDITION)


*	(NOT type)
*	(AND {type}*)
*	(OR {type}*)
*	(VALUES {type}* [&optional {type}*] [&rest type] [&allow-other-keys])
*	(SATISFIES symbol)		symbol is a predicate
*	(MEMBER {object}*)
*	(EQL object)

