Elixir version
1.18.4
Database and Version
postgres 17.5
Ecto Versions
3.13.2
Database Adapter and Versions (postgrex, myxql, etc)
N/A
Current behavior
- Create a new app, create a new file called 
test.ex with these contents:
   defmodule MyApp.Test do
     def test do
       Ecto.Multi.new()
       |> Ecto.Multi.run(:test, fn _changes -> :ok end)
     end
   end 
 
- Run dialyzer
 
- Observe multiple mismatches between 
names: MapSet.t() (expected) and names: #MapSet<...map: internal(_)...> 
Expected behavior
No error.
A consideration may be to make Ecto.Multi.names() an opaque type as well. I'm no longer sure that that's the right thing to do.