Z. P. Dienes was a mathematician who got interested in the way children learn mathematics. He found that, when playing, children go through a double two-phase cycle, namely children play:
with concrete objects randomly
with concrete objects according to rules
and then
with the rules randomly
with the rules according to super-rules
Dienes devised concrete objects to facilitate the start of the cycle: attribute blocks (large/small, thick/thin, blue/ yellow/red, rectangular/square/triangular/circular) as well as multi-base arithmetic blocks. While the blocks do not seem to be readily available, they are simple enough to somehow duplicate so that, here again, one can easily convince oneself that children indeed end up playing with rules, the begining of "mathematical maturity".
As I wrote here, it seemed that, interestingly, something similar might be working with developmental students, at least to an extent, but the then Provost of my school soon saw to it that the students be taught only the "skills".