callback :: (... -> callback_return)
callback_return :: term
monitor :: reference
channel(:link | :no_link | :monitor | (... -> any)) :: %AMQP.Channel{conn: term, pid: term} | {%AMQP.Channel{conn: term, pid: term}, monitor} | any
channel(callback, [term]) :: callback_return
channel(module, atom, [any]) :: any