[ ( x y -- address ) cells malloc >r dup cells >r [ r> r> r> 2dup >r >r swap malloc swap i swap array.put >r ] iterate r> r> nip ] is 2D-array [ ( a b address -- value ) array.get array.get ] is 2D-get-element [ ( value a b address -- ) array.get array.put ] is 2D-put-element