w tym przypadku taki wybór skutkowałby dodaniem niepotrzebnych zależności do SongRepository np od Rate i User
Nie do końca zrozumiałem, jak wtedy widziałbyś taki kod? Tak czy tak potrzebne są jakieś zależności, tyle że teraz gromadzisz je w SongResult a nie danym repozytorium. Jak rozumiem to są po prostu relacje modelu, więc nie prościej skorzystać tam z load() bądź with() na modelu?