(vert horiz diagdown diagup) concat max [fourrows [vertproducts'] map] !vert [fourrows [stagger vertproducts'] map] !diagdown [fourrows [rev stagger vertproducts'] map] !diagup [(rs (0 1 2 3)) :leave zipwith]#rs !stagger [(0 1 2 3) [grid x leave]#x map zip] !fourrows [grid [(0 1 2 3) [row x leave]#x map vertproducts']#row map] !horiz [[* * *] zipwith] !vertproducts ... ((.numbers..) (...) ...) !grid