The early design is explained (if not justified) by my avoi…
The early design is explained (if not justified) by my avoidance of tech problems, especially cross-checking between separately-compiled source files, and my incomplete assimilation of the implications of moving between an untyped to a typed language.