Merkostnaden måste bero på att du använder funktionen för att returnera set i SELECT i stället för i FROM klausul.
Observera att bearbetningen av set-retur fungerar i SELECT klausul ändrad i PostgreSQL v10, så din version kan ha inflytande på detta beteende.