I recall there has been a fundraising campaign to add types to Nix which resulted in
almost nothing some interesting theoretical results.
My question here is what can we do to enforce type safety in practice? There are a lot of type errors in nixpkgs (
lib.optionals mix is very common), even more in the user code, including mine.
If type inference for Nix is so complex, could we introduce type annotations compiling to
asserts? They could be turned off by default for performance reasons, but enabled in ofborg.