For example given ['a', 'b']
(as a generator) and 2 as a length
the function would output a generator that would yield:
'',
'a',
'b',
'ab'
'ba'
'aa'
'bb'
or given ['a']
and a length of 3:
'',
'a',
'aa',
'aaa',
As you could imagine this set would get a lot larger if more letters were added or length was increased, it should list all permutations of the given characters up until the length