     (^void execute [_ x]
       (callable x))))
 
-(defn function
-  "Coerce a plain clojure function into
-  ratpacks's Function interface."
-  [callable]
-  (reify Function
-    (apply [_ x]
-      (callable x))))
-
-(defn ^Block block
+(defn ^Block fn->block
   "Coerce a plain clojure function into
   ratpacks's Block interface."
   [callable]

    (execute [_]
      (callable))))

(defn promise
  "A convenience function for create ratpack
  promises from context instance."
  [^Context ctx callback]
  (.promise ctx (action callback)))

(defprotocol IByteBuffer
  (bytebuffer [_] "Coerce to byte buffer."))

           ratpack.func.Function
           ratpack.func.Block
           ratpack.exec.Promise
           ratpack.exec.Upstream
           ratpack.exec.Downstream
           ratpack.handling.Context
           java.util.concurrent.CompletableFuture
           io.netty.buffer.Unpooled))

(defn ^Action fn->action
  "Coerce a plain clojure function into
  ratpacks's Action interface."
  [callable]
