Elegantly create Dicts of parameters

Thank you for the inspiration!
Iterators.product did the trick.

Type stability is really not a problem in this case because all computations happen
behind additional function barriers.

This seems like a good solution:

pset = Dict(
   param1 = [1,2],
   param2 = 5,
   param3 = [4,5])

map(vals -> Dict(keys(pset) .=> vals), Iterators.product(values(pset)...))[:]