pub trait DiscreteDistribution<T: Float> {
// Provided methods
fn mean(&self) -> Option<T> { ... }
fn variance(&self) -> Option<T> { ... }
fn std_dev(&self) -> Option<T> { ... }
fn entropy(&self) -> Option<T> { ... }
fn skewness(&self) -> Option<T> { ... }
}