Programming Ecto: Error with compilation (Page 20)

I am using elixir 1.16.2 and when I run the mix compile it’s erroring with:

== Compilation error in file lib/ecto/query.ex ==
** (Kernel.TypespecError) lib/ecto/query.ex:400: type dynamic/0 is a built-in type and it cannot be redefined
    (elixir 1.16.2) lib/kernel/typespec.ex:971: Kernel.Typespec.compile_error/2
    (stdlib 5.2.2) lists.erl:1599: :lists.foldl_1/3
    (elixir 1.16.2) lib/kernel/typespec.ex:226: Kernel.Typespec.translate_typespecs_for_module/2```

It's unclear to me (as a person very new to Elixir) what exactly I should be doing to fix this.  I tried running the suggested `mix deps.update ecto` but that did not work.

I'll try installing an earlier version of Elixir and see if it compiles then.

Running mix deps.update --all worked. I don’t know what the effect on the rest of the book will be, but it would be great if a version of the source code that would definitely work with 1.17.1 were released