Use the unqualified module names for simplicity -- they're all in the same namespace anyway.
Replaced uses of (o), (&), and the double-semicolon.
Reformatted some parts of the code to use a more F#-friendly style.
The code is still commented out because it doesn't compile -- there are some uses of 'in' remaining which seem to dramatically affect the way the F# compiler parses this code.