make _contract return NumericArray
remove numpy occurrences