Se fossi in te, dichiarerei la funzione come pipeline e restituirei i valori tramite l'istruzione della riga della pipe. E sicuramente sbarazzarsi di CAST/multiset. L'istruzione For loop è la tua scelta. Sono sicuro che funzionerà usando il mio consiglio.