Add associative array cartesian products

This is a fascinating library to calculate cartesian products without recursion and without keeping the whole set in memory. May I ask for associative array support? If this is not desired, could you at least please consider splitting off the init function so I can add my subclass without copying the whole constructor? Thanks.