Looked at annotating a let binding and stopped at the surface syntax, which is the whole of the problem. Everything underneath is already built: bindings carry a type, load renames through it, and the checker consumes it as the want for the value. What is missing is a way to write it that a parser with no types can read -- let is a flat list of pairs, so it cannot disambiguate by argument count the way defvar and defconst do, and [4 rl/Vector2] is a perfectly good array literal. So NEXT.md gets the three candidate surfaces and a recommendation rather than a commit picking one: give zeroed its type as an argument. It is one branch in the checker, no new syntax, and it answers the case that actually hurt -- a fixed array with nothing to infer from -- without contradicting plan.org's "annotate function signatures, infer locals". The two items beside it in the same ranked list are marked fixed.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%