This is allowed:
type Test = class end
[<CompilationRepresentation (CompilationRepresentationFlags.ModuleSuffix)>]
module Test = begin end
But this not:
[<CompilationRepresentation (CompilationRepresentationFlags.ModuleSuffix)>]
module Test = begin end
type Test = class end
Why?
In the second case, the error is: Duplicate definition of type or module 'Test'.
I'd love to be able to define some public [<Literal>]
constants that are required for a type and important for users of the type inside a module with the same name.