Yep, I’d agree it’s a breaking change, even though the fact that structs could be passed before was probably incidental. The documentation saying that a Map
can be passed is technically correct, as you can pass a map, but possibly confusing in light of the “structs are maps“ notion.
The problem is that the “structs are maps” is not necessarily true, depending on context. For the purpose of dispatching, they are not maps. I definitely got confused by this in my comment before.
You surely know already, but for the benefits of others hitting the same issue, one solution would be to turn the struct into a map with Map.from_struct/1
.