def Budget.take
import bend-trace-context@0.2.0.0/trace_context.bend as TraceContextimport Base
2017# What is left of a budget after taking `need` octets, or None when less
2018# remains.
2019def Budget.take(need: Nat, budget: Nat) -> Maybe<&2, Nat>:
2020 match need budget:
2021 case 0n _:
2022 Some{budget}
2023 case 1n+more 0n:
2024 None{}
2025 case 1n+more 1n+left:
2026 Budget.take(more, left)