So as far as I understand, the convention is to define your type, and then define a module with the same name after it with the functions that operate on the type.
I'm trying to do that so I have this code
namespace Rand
type ImmutableRandom
module ImmutableRandom =
open System
val fromSeed : int -> ImmutableRandom
val int : ImmutableRandom -> int
val intInRange : ImmutableRandom -> int -> int -> int
val double : ImmutableRandom -> double
val next : ImmutableRandom -> ImmutableRandom
I'm getting the error that ImmutableRandom (the name of the module is underlined) is redefining a type or a module.
In the very same project, the identical setup works for a different type, with the only difference being that that type has a generic parameter, while ImmutableRandom doesn't.
What am I doing wrong?