Typed local belief projection for TypeSafe noul, choice and score answers.
Raw provider values are retained. Calibration, when supplied, is an explicit transform and never rewrites the raw value.
@type t() :: %Plexus.Belief{ calibrated: term() | nil, distribution: map() | nil, kind: :bernoulli | :categorical | :ordinal, metadata: map(), raw: term(), upper: number() | nil, value: term() }
@spec combine(t(), t(), keyword()) :: t()
@spec entropy(t()) :: float()
@spec from(term(), term(), keyword()) :: t()
@spec from_answer(term(), keyword()) :: t()
@spec probability(t()) :: number() | nil