Creating an Iterable of Dicts

Thank you. This code is intended as part of a course on Syntax and Logic that I am writing, so I wanted the code to be as comprehensible as possible. So in the light of the latest solution, this is now my favoured solution:

julia> Model = Dict{String,Bool}
Dict{String, Bool}

julia> vars = Set(["a","b","c"])
Set{String} with 3 elements:
  "c"
  "b"
  "a"

julia> (Model(vars.=>reverse(t_row)) for t_row in
    Base.product(((false,true) for _ in vars)...)
)
Base.Generator{Base.Iterators.ProductIterator{Tuple{Tuple{Bool, Bool}, Tuple{Bool, Bool}, Tuple{Bool, Bool}}}, var"#7#9"}(var"#7#9"(), Base.Iterators.ProductIterator{Tuple{Tuple{Bool, Bool}, Tuple{Bool, Bool}, Tuple{Bool, Bool}}}(((false, true), (false, true), (false, true))))

julia> for i in ans
    println(i)
end
Dict{String, Bool}("c" => 0, "b" => 0, "a" => 0)
Dict{String, Bool}("c" => 0, "b" => 0, "a" => 1)
Dict{String, Bool}("c" => 0, "b" => 1, "a" => 0)
Dict{String, Bool}("c" => 0, "b" => 1, "a" => 1)
Dict{String, Bool}("c" => 1, "b" => 0, "a" => 0)
Dict{String, Bool}("c" => 1, "b" => 0, "a" => 1)
Dict{String, Bool}("c" => 1, "b" => 1, "a" => 0)
Dict{String, Bool}("c" => 1, "b" => 1, "a" => 1)