Build it in edda
Command-line tools
A command-line tool is the smallest honest program: it reads, it transforms, it writes, and it should be able to say exactly which of those it does. In edda the entry point's signature is that statement, and the compiler holds it true.
The signature is the manifest
A tool that filters stdin to stdout declares main(stdin: Stdin, out: Stdout) and can do nothing else — no filesystem, no network, no clock, because capabilities cannot be synthesised, only passed. Reading the one-line signature is a complete security audit of the binary's authority.
What the language gives a tool
One static binary
No interpreter, no runtime to install, no dependency at the destination. Build, copy, run.
Parsing under contract
Arguments and input pass through refinements at the boundary — an index proven in range, a count proven positive — so the body never re-checks what the type already guarantees.
No silent wraparound
Integer overflow traps unless you asked for wrapping or saturating arithmetic by name. The byte-counting bug that corrupts at 4 GiB is a crash at the fault, not garbage downstream.