unify rangedNumVal to NumVal and add GetElementType() to Element Interface