parse a "A:B:C" style distribution string into a numeric vector, stopping with a clear error instead of silently returning NA when an element cannot be interpreted as a number (phase 3 fix for the distribution_distance()/calc_KL() defect where a non-numeric target column produced all-NA distances and the caller quietly reported "0 / 0", which reads as "could not be reidentified = safe").
Source:R/distance.R
parse_dist_values.RdDistinguishes, where possible, a genuinely non-numeric element (R's `as.numeric()` raises "NAs introduced by coercion") from an explicit missing value already encoded in the data (e.g. an "NA" token, which `as.numeric()` parses cleanly to NA with no warning).