What happens if the user passes multiple arguments to gorp.List ? 

The use case of joining slices into a single id list is not really the common case, and it can be handled easily with append -- I think it's better to make "list" a regular type that callers can use themselves.

e.g.
gorp.List{slice} 

which would then help to improve the Dialect interface