Samplers tend to hold a const reference to the relevant data and so we want to ensure it's not possible to inadvertantly pass in a reference to data that is going out of scope.