(Should have been submitted with 693939) Fixing error value handling for numeric functions. Refactored hierarchy.