Deduplicate parameter lists across all methods and functions in a StubSlice.
Many PHP framework methods share identical parameter lists (e.g., thousands
of (string $arg, array $opts) signatures). This function groups identical
param lists globally (across all slices processed so far) and replaces them
with Arc<DeclaredParam> pointers to shared allocations.
Helper to wrap a PropertyDef type field (ty/inferred_ty/default) in
an interned Arc<Type>, deduplicating common property types via the global
pool. See PropertyDef.
Wrap a variable type in an interned Arc<Type>. Use instead of
Arc::new(ty) at FlowState::set_var and parameter-init sites so that
common scalars (string, int, bool, null, mixed) share a static Arc rather
than allocating a fresh one per assignment.
Insertion-ordered member map keyed by lowercased member name.
FxHash instead of SipHash: member lookup is one of the hottest analyzer
operations and the keys are short trusted identifiers.