{ 103 203 { { 1 1 } { 2 2 } { 3 3 } } }
[ 100 200 { { 1 1 } { 2 2 } { 3 3 } } [ [ 1 + ] bi@ ] 2temp2d assoc-map ] unit-test
-{ t } [ int [ c-type-name? ] [ lookup-c-type ] 1check-when c-type? ] unit-test
\ No newline at end of file
+{ t } [ int [ c-type-name? ] [ lookup-c-type ] 1check-when c-type? ] unit-test
+
+{ 111 112 113 114 } [ 10 100 [ 1 + + ] [ 2 + + ] [ 3 + + ] [ 4 + + ] 2quad ] unit-test
: 4quad ( w x y z p q r s -- )
[ [ [ 4keep ] dip 4keep ] dip 4keep ] dip call ; inline
+: quad ( x p q r s -- ) [ [ [ keep ] dip keep ] dip keep ] dip call ; inline
+
+: 2quad ( x y p q r s -- ) [ [ [ 2keep ] dip 2keep ] dip 2keep ] dip call ; inline
+
: quad* ( w x y z p q r s -- ) [ [ [ 3dip ] dip 2dip ] dip dip ] dip call ; inline
: quad@ ( w x y z quot -- ) dup dup dup quad* ; inline