You will take a performance, and a readability hit. IMO the only reason to do this if you are have some sort of common strategy that traps the module associated with the struct, e.g. a protocol, or something where you are doing:
def some_function_that_takes_data_interface(value = %module{}) do
module.operation(value)
end
presumably somewhere, you have some structs that get sent to above function that have more than one map field, in addition to the one-field structs.






















