Things in here are new commonlisp defstruct (source code shared with mit lispm)
and new nil package system.


The defstruct is sort of in STRUCT and NSTRUCT.
NSTRUCT fixes some important bugs, but I got bored half-way through writing the
changes and it remains unfinished.
STRUCT is ok except that it doesn't really understand the dichotomy between the
old and common-lisp concepts of what it means for a structure to be "named"


The package system consists of the following files:
PKDEF		;Definitions for package stuff. Load this before trying to
		; run or compile anything else.
PKCOLD		;Package functions which must be in as early as possible.
		; Used by...
PKBRRR		;Rough approximation of what the initial once-only package
		; bootstrap (from what the initial vasloader leaves around
		; to the real package system) code will look like.
		; This was written with no regard for the real (gsb-implement-
		; ed) state of the world, and is just a sort of rough outline
		; of something which may do the right thing.
		; Of necessity, this code is completely untested.
PKPK
PKSYM		;Warmish package functions -- things that aren't needed
		; in the very cold load. In fact, the rest of the package
		; system, except for errors.
		;The division into two files is sort of arbitrary -- I suppose
		; mainly for speeding selective recompilations
PKERR		;Some simple working package errors, as opposed to...
PKFERR		;Fucking non-working package errors.
		; They are non-working for two reasons:
		; (1) Hair -- they're a bitch to write and I'm lazy
		; (2) Need new debugger/condition technology to do the right
		;  thing -- want rms' :user-proceed-types message
		; Well, now I've half-implemeted the debugger stuff I wanted,
		;  and I still don't like the way it works...
		;  This is all such a pain (and I haven't even started on
		;  use-package error handling...)
		; PKERR needs to be loaded in order to compile this loser.
PKKLUDGE	;YOW! This is a whole buch of random kludges to enable the old
		; and new package systems to coexist in the same machine
		; (all the new package functions have an "xp-" or "xpkg-"
		; prefix to avoid conflicts --- I thought that was what package
		; systems were about, weren't they?? to avoid conflicts) for
		; the purpose of giving the new package system some testing.
		; Actually, they no longer may coexist completely, because
		;  due to value-cell-forwarding lossage, I had to dike out
		;  the variable *xp-package* and use *package* for both the
		;  old and the new package systems.
		; And then, there is the function
		; si::xpkg-fuck-me-with-a-twelve-inch-dildo, which will fuck
		; the lisp world over totally, diking out old packages
		; and wedging in the new ones.
		; In general, the fuck-over world is fairly robust.
		; I seem to have found most things in the system which depended
		; on the old package structure. The redefinitions of these
		; things are to be found all though pkkludge, and aref finally
		; wedged in by defff and defffmacro (in xpkg-f-m-w-a-t-i-d)
PKBOOT		;A little file to load pkdef, pkcold, pktepid, pkerr, pkferr
		; and pkkludge, since I'm such a miserable typist.
		; After loading this, all one has to do is (pkg-goto 'si) and
		; (xpkg-fuck-me-with-...) in order to lose away as much as one
		; could possibly wish.
