tunnel Tunnel is a clean and efficient wrapper around native Go channels that allows you to: Gracefully close a channel multiple times without throwing a panic. Get an error when attempting to send data to a closed channel.