BranchPath — opaque identifier for a branch in the structural tree of
!/?! groups. Used in Oracle-proof specs for generative effects
(oracle : (BranchPath, Int, args...) -> T) and, via the trace-API
.path() bridge, for tying trace events to oracle invocations.
Parse an Aver type annotation string into a Type.
Returns Type::Invalid for malformed or unknown type strings (internal recovery).
Prefer parse_type_str_strict for user-facing type annotations.
Parse a type annotation string strictly.
Returns Err(unknown_name) if the string is a non-empty identifier
that does not map to a known type (i.e. a likely typo).
Generic forms (Result<...>, Option<...>, List<...>) with valid inner types are accepted.