anchor.diff:  
   
       /// Chooses a random element from this PMF
  -    let random (pmf:Map<float,float>) = 
  +    let sampleFrom (pmf:Map<float,float>) = 
           if pmf.Count <= 0 then raise (System.Exception("Pmf contains no values") )  
           let target = FSharp.Stats.Random.rndgen.NextFloat()
           //pmf |> Seq.map (fun kv -> (kv.Key,kv.Value)) |> Seq.scan (fun state (k,v) -> (k, v + snd state)) (0.,0.)
  
positive.code:             |> Seq.scan (fun state kv -> (kv.Key, kv.Value + snd state)) (0.,0.)
              |> Seq.find (fun (x,y) -> y >= target)
          x
          
  
      
      /// Computes the mean of a PMF
      let mean (pmf:Map<float,float>) =
  
negative.code: 
  /// Represents a probability mass function (map from values to probabilities).
  module Empirical =
      open System
  
      ///// probability mass function    
      //let create bandwidth data =        
  