Some points:
- In the current implementation results will break when switching from python2 to python3 for non-int values.
- The documentation unfortunately shows using a non-int as first example.
- In the libraries and examples, there is no occurrence of using RndSeed.
Personally, I can see ony two uses of RndSeed. One is the example from the docs, to obtain identical repeat sections. For this it doesn't matter at all what is under the hood, since this will work for ints, floats, python2 and python3. No breaking of existing code.
The other use is to get reproducible results for regression tests (what I'm currently working on). For this it still doesn't matter what is under the hood, as long as it is reproducible. It turns out that due to the changed python2 to python3 behaviour this is only possible when using int values.
So I would suggest to use int conversion for the random seed (instead of stof) and adjust the first example in the documentation. Adding a type argument is overkill for this issue.
There is, actually, a third use for RndSeed: When I have a nice midi and I want to do it again (with a different chord or something). This is currently not possible since that would require keeping track of the seed value used to generate this midi.
Having an environment variable to set initial lines? Cute, but I think .mmarc can already handle that. For the regression tests I use a dedicated .mmarc but I could of course
Include ~/.mmarc or something similar if needed.