 (def float-fromstring
   (core/build-instruction
     float-fromstring
+    "`:float-fromstring` pops the top `:string` item, and applies `Double/parseDouble` to attempt to convert it to a floating-point value. If successful (that is, if no exception is raised), the result is pushed to `:float`"
     :tags #{:conversion :base :numeric}
     (d/consume-top-of :string :as :arg)
     (d/calculate [:arg] 

(def float-frominteger
  (core/build-instruction
    float-frominteger
    :tags #{:conversion :base :numeric}
    (d/consume-top-of :integer :as :arg)
    (d/calculate [:arg] #(double %1) :as :result)

(def float-fromchar
  (core/build-instruction
    float-fromchar
    "`:float-fromchar` pops the top `:char`, converts this to an integer, and pushes that value typecast to a `:float`"
    :tags #{:conversion :base :numeric}
    (d/consume-top-of :char :as :arg)
    (d/calculate [:arg] #(double (long %1)) :as :result)
