Both classes of functions are related
PRODUCT_PREFIX((/1,2,3,4/)) = (/1,2,6,24/)
PRODUCT_PREFIX((/1,4,7/), = ((/1, 24,  5040/),
               (/2,5,8/), =  (/2,120, 40320/),
               (/3,6,9/)) =  (/6,720,362880/))
PRODUCT_SUFFIX((/1,2,3,4/)) = (/24,24,12,4/)
PRODUCT_SUFFIX((/1,4,7/), = ((/362880,60480,504/),
               (/2,5,8/), =  (/362880,15120, 72/),
               (/3,6,9/)) =  (/181440, 3024,  9/))