some nicer behavior for the random monad
add fromDist method