From 5.1 (I think; but certainly in 5.2), Stdlib.Random's generators are automatically split when new domains are created. I think this is not happening in Base.Random and results in CamlinternalLazy.Undefined exceptions being raised when multiple domains generate random numbers in parallel. I don't know if fixing this is even possible given how Base.Random is designed, but perhaps warning the user in the documentation would be helpful?