static WithProbability withProbability(double probability, A a) { ret WithProbability(probability, a); } static L> withProbability(IF1 makeProbability, Iterable l) { ret map(a -> withProbability(makeProbability.get(a), a), l); }