Simple RabbitMQ client wrapper
Overall, this code looks very good.  Just two nitpicks here:


Give your function definitions lines to themselves:



let openChannelOn (connection:IConnection) = connection.CreateModel()




Use match statements unless you are checking a boolean value directly:





if ea &lt;&gt; null then
    let body = ea.Body
    let message = Encoding.UTF8.GetString(body)
    Some message
else
    None



Becomes:

match ea with
| null -&gt; None
| _ -&gt;
    let body = ea.Body
    let message = Encoding.UTF8.GetString(body)
    Some message