The OP failed to mention that SQLite does have opt-in strict tables that enforce types, you just need to do `CREATE TABLE name (stuff TEXT) STRICT`, see https://www.sqlite.org/stricttables.html
Like journal mode being ROLLBACK by default instead of WAL, foreign key constraints being off by default, tables being lax by default is part of SQLite’s dedication to backwards compatibility.