allow sinks to be functions