# handle_assume

function handle_assume<Left, Right>(x:Left, p:Right) -> Left

Handle assume event.

• x: Random.
• p: Distribution.

Returns: x.

Attention

Typically one does not call this directly, but rather uses the ~ operator, which is hard-wired to call this internally.

function handle_assume<Right>(p:Right) -> Random<Right.Value>

Handle assume event.

• p: Distribution.

Returns: A newly construct Random with value type the same as p.

Attention

Typically one does not call this directly, but rather uses the ~ operator, which is hard-wired to call this internally. This particular version is used when a newly declared variable is initialized with the ~ operator.