An experiment at expressing functors in F# the .NET type system.
This solution attempts to implement the data structures detailed in Chris Okasaki's Optimal Purely Functional Priority Queues by using static fields of generic types and generic interfaces to encode ML functors.