Start here
The safe first move
Drop the wrapper list and pass the columns or table directly into select(...).
Stop before automation when: Calls already mixed with broader query redesign. Generated code that obscures the argument list.
Target shape
stmt = select(user_table)
stmt = select(User.name, User.email)