Das Beste, was mir einfiel, war, eine Tabellenvariable Ihres Typs lokal für die Funktion zu deklarieren und diese im gesamten Code zu verwenden. Führen Sie dann direkt vor der RETURN-Anweisung ein INSERT...SELECT in die Parametertabelle aus.
Bisher habe ich benutzerdefinierte Typen vermieden. Obwohl sie vielversprechend erscheinen, mit der Möglichkeit, den Typ an einem Ort zu ändern, anstatt die Datentypen überall zu ändern, scheinen sie aufgrund von Problemen wie diesen einfach nie zu liefern, wenn es um Produktivität und Wartung geht.