So why is there no "functional" query language? Something like Haskell, but for databases. You would get the benefits of a declarative model, composeability and type-safety.
I am currently using sqlx[1] and it's great in terms of type-safety, but you can't compose queries. I don't like to use ORM's, they are usually good for simple things, but hard things are impossible and you have to use/understand SQL anyways.
[1] https://github.com/launchbadge/sqlx