Well, when there was no join conditions it was causing an error, 250 or so tests were failing. I noticed that `.includes!` has this code in it, and that was why it wasn't failing with no includes conditions, didn't see why the two weren't the same.

I could've put this check in associations/preloader/association.rb#build_scope instead with something like:

    joins = preload_values[:joins] || values[:joins]
    scope.joins! joins if joins

(or something cleaner, perhaps modifying `joins_values` directly as it does with `where_values` etc) but changing `joins!` to match `includes!` felt a nicer solution to me and didn't break any existing tests.