Typed, bound valuesEvery value becomes a placeholder plus a typed bind — never interpolated into the SQL string.
Three dialects, one APIPostgres, MySQL, and SQLite via a Dialect marker. Mixing dialects is a compile error, not a runtime surprise.
Fallible compilationtry_* twins return a typed BuildError; the panicking API stays for static, hand-written queries.