hap._random is a random number generation library for the D programming language. It is intended as a replacement for Phobos’ std._random, and addresses a number of issues encountered in that module: in particular, hap._random implements random number generators and related entities as reference types rather than value types, which avoids a number of problems that can arise with the standard library RNGs. It is however largely derivative of std._random and to the greatest extent possible implements the same API, with some functional additions, notably the random distribution ranges.