Algumas vezes eu me deparei com o problema de fazer funções que retornam conjuntos de registros. Retornar mais de um resultado com uma função, um conjunto de resultados, e o Postgres nos favorece com alguns artifícios para tal. De fato não são exatamente muito simples de se manejar, mas também não é um bicho de sete cabeças.