The common way to export type classes is Nte(..) I'm not sure what happens if you export the "closed" class and the methods separately - I'd guess it means you can use the methods and put the class name in type signatures but can't declare new instances. As I've never needed to close classes, it's not something I've looked into.