interface MonadSample : (Type -> Type) -> TypeInterface for sampling from a distribution
We require that there is at least one element in the distribution
TODO add temperature as a implicit parameter with a defualt value of 1.0
sample : MonadSample m => IsSucc i => Dist name i -> m (Fin i)Sample : MonadSample m => IsSucc n => (m <!> Dist name n) =%> ScalarSampling as a costate on the container of distributions