open DistTypes; let make = (~guesstimatorString, ~domain=Complete, ~unit=UnspecifiedDistribution, ()) : distPlusIngredients => { guesstimatorString, domain, unit, }; let toDistPlus = ( ~sampleCount=2000, ~outputXYPoints=1500, ~truncateTo=Some(300), ~kernelWidth=5, t: distPlusIngredients, ) : option(distPlus) => { let shape = Guesstimator.toMixed( ~string=t.guesstimatorString, ~sampleCount, ~outputXYPoints, ~kernelWidth, ~truncateTo, (), ); let distPlus = shape |> E.O.fmap( Distributions.DistPlus.make( ~shape=_, ~domain=t.domain, ~unit=t.unit, ~guesstimatorString=Some(t.guesstimatorString), (), ), ) |> E.O.fmap( Distributions.DistPlus.T.scaleToIntegralSum(~intendedSum=1.0), ); distPlus; };