Recursive namespaces

Allow you to reference yet to be defined types and modules.

All types and modules within the namespace will be marked as recursive to allow them to be referenced before the complete definition.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
namespace rec MutualReferences

exception DontSqueezeTheBananaException of Banana

type Banana() =
  // ...
  member self.SqueezeJuiceOut() = raise (DontSqueezeTheBananaException self)