# [J], 18 bytes ,"1/^:(]{:)~@,.@i. [Try it online!](https://tio.run/##y/qfkq8Qb6iQUpRfoKCeZqunrqOQl1@ap5CSmpaZl/pfR8lQP85KI7baSrPOQUfPIVPvvyYXV2pyRr5CmoIhhGGpoq6rDhMzwiJmjCFmo2QIFDfh@g8A) Iterative solution, no built-in cartesian product. This is what peak J looks like. input 2 i. range 0, 1 ,.@ reshape each element into a one-dimensional array [0],[1] (A) ^:(]{:) (input−1) times... (1 iteration) ,"1/ ~@ prepend each 1d array in A | to every 1d array from the previous iteration,| assembling the results for each A[n] into |!CANTEXPLAINTHIS! a larger array | [ [0,0], | [0,1] ], | [ [1,0], | [1,1] ] | [J]: http://jsoftware.com/