[project @ 2001-08-29 14:20:14 by rje]
FCode/Code is now a monad, and thus now also a constructed type, rather than a
type synonym.
This requires quite a lot of changes in quite a lot of files, but none of these changes should have changed the behaviour of anything.
Being a Monad allows code that used FCode to be IMHO rather more readable
as it can use do notation, and other common Monad idioms.
In addition, state has been abstracted away with getter and setter
functions, so that functions mess with the innards of FCode as little as
possible - making it easier to change FCode in future.