*dot_product = compose( \&sum, zip_with_c( \&product )); say dot_product( [1,1,1], [1,2,3] ); # 6