# Functions
Close closes the given channel safely by checking if it's not nil and not closed yet.
NewErrBadParam creates a new ErrBadParam error with the specified parameter name and message.
NewErrNilParam is a convenience function that creates a new ErrBadParam error with the specified parameter name and the message "must not be nil".
Send sends the given element on the channel if the channel is not nil and not closed.
# Variables
ErrNilReceiver occurs when a method is called on a receiver who was not expected to be nil.
# Structs
ErrBadParam occurs when a parameter is bad.