Refactoring and `rand::Rand` functions.