The compiler reads the docs you would not have written.
[ trace // field response ]
Types are documentation that the compiler is willing to read. Comments rot. Types break the build. The asymmetry is the whole point — type annotations encode invariants in a way that the team cannot accidentally let go stale.
This is also why dynamically typed codebases at scale tend to grow heavy runtime validation: the invariants were always there. They just had nowhere to live until something started failing in production.
Add the types. The cost is hours; the savings are years.