- Never, ever export methods. You probably know better anyway...

- All modules will require Perl 5.004 or higher, unless higher specification
	is necessary. They must also use the strict and warnings pragmata as well as
	VASM::Common; by extension, they must also use the 'error' function defined
	by VASM::Common to report errors: it croaks and then some, reporting the
	name of the function where the error happened. (croak will also report where
	/your/ program made the mistake.) It also does a little nice formatting. I
	do not have a counterpart that flags warnings. Hopefully, my stringent
	attitude towards errors will make us all better, more careful programmers.

- I like heavy commenting. I also break my functions into two or three units
	distinguishing the stages of the function. Thorough POD documentation is
	also expected, preferrably at the end of the package

- This isn't C, so you really don't need to do any kind of type checking. If a
	type is wrong, or there is an undef, Perl will flag it and gracefully
	decommision the program (instead of dumping a ten meg core). As a rule,
	though, it's a good practice to check that the class argument received in a
	method call is an instance. Another good general sanity check is checking
	the number of arguments to a function.

	You will notice that I have redundant error checking at several levels in
	the program...well, that's the kind of guy I am. If you want to check only
	at the lowest level, OK, but I'll probably rewrite it

- I consider myself an adherent of the bottom-up school of programming (within
	reason; I encounter ad hoc middle-out from time to time a la 'eXtreme
	Programming') Even so, some of the code, due to the nature of Perl, and my
	goals, ends up looking like it's been written top-down. Case in point: the
	Children method in Tree.pm. Shouldn't I factor out a children function that
	will work independently of the method?

	I thought about this for a while, and came to this conclusion: because the
	/unabridged/ code to retrieve and return the names of the children in that
	function is:

    return keys %{ $class->{Stack}->[-$index]->{Children} };

	...we'll just cross that bridge when we come to it. In theory, all code I
	write should be clearly separated into utility functions and methods that
	serve as wrappers over them. However, I /highly/ doubt those same utility
	functions will ever see their way out of VASM; and if they do, Perl makes
	them piss easy to refactor. (My functions/methods run about thirty lines
	tops.) Therefore, I only draw the line when it's practical to do so, hence
	the appearance of top-down authorship.
