sqlite3 is older than the current type system usage trends. There were strongly typed languages back then, but it was for niche/research uses. People wrote in C. That's why it provides those little helpers and it's not absolute about types. I bet if it was written with say, Ocaml it would be strongly typed from the get go.