That previous F# code was just too ugly to leave as it was; so after a little bit of work, I've factored out a general purpose wrapper to convert the
Otp.Erlang types into values of a discriminated union on the F# side of the fence. Like this we can directly pattern match, without the descent into massive nesting that we had before, and keep the
Otp.Erlang types encapsulated into wrappers for method calls on the
With this addition the main program above can be revised to become
which looks a lot more like the language we're trying to write in. All the magic happens in this file
Of course, as OTP.Net is some revs behind the current Erlang distro's JInterface, this type mapping is incomplete (no
Fun types) compared with what we could be using. The main advantage is that it works right now.