            (catch Throwable e
              (timbre/fatal e))))))
 
-(defn established? [channel]
+(defn established? [^Channel channel]
   (and channel (.isActive channel)))
 
 (defn create-client [client-group host port]

                                                     ;TimeUnit/MILLISECONDS
                                                     )
        ch (.channel ch-fut)]
    (if (and (.isSuccess ch-fut) 
             (established? ch))
      ch
      (do (.close ch)

  [^ChannelGroup channel-group handler]
  (proxy [ChannelInboundHandlerAdapter] []
    (channelActive [ctx]
      (.add channel-group (.channel ^ChannelHandlerContext ctx)))
    (channelRead [^ChannelHandlerContext ctx ^Object message]
      (try
        (handler ctx message)
