pub trait ConditionableDistribution: Distribution + Sized {
// Required method
fn condition<U2, F>(
self,
condition: F
) -> ConditionedDistribution<Self, Self::Value, Self::Condition, U2, F>
where U2: Event,
F: Fn(&U2) -> Result<Self::Condition, DistributionError> + Clone + Send + Sync;
}