Types.TryParse parsed every numeric as ulong then Convert.ChangeType(num, type) to
the target type — which boxes via conversion, rejects signed values (ulong.TryParse
fails on '-5', forcing a fall-through to the slow reflection Parse), and can overflow.
It now dispatches the runtime Type to the concrete INumber<T>.TryParse(span, style, ...)
(the Type-parameter equivalent of AdvancedSearch's generic TryParseNumericValue<T>),
parsing the string straight into the target type — signed/per-type ranges honored, hex
supported, no Convert.ChangeType. Serial/entity properties keep the full-range ulong path.
Adds numeric TryParse coverage (int/byte/uint/long, negative, hex, out-of-range).
Full suite 543/543.