The TYPE object knows it depends on its 4 base functions

input, output, receive, send
The domains know they depend on their base type
Track dependency from views to tables/views/functions
Stable order of the `depends_on` values