 (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-fromboolean
  (core/build-instruction
    float-fromboolean
    :tags #{:conversion :base :numeric}
    (d/consume-top-of :boolean :as :arg)
    (d/calculate [:arg] #(if %1 1.0 0.0) :as :result)

(def float-divide
  (core/build-instruction
    float-divide
    "`:float-divide` pops the top two `:float` values (call them `denominator` and `numerator`, respectively). If `denominator` is 0.0, it replaces the two `:float` values; if not, it pushes their quotient."
    :tags #{:arithmetic :base :dangerous}
    (d/consume-top-of :float :as :denominator)
    (d/consume-top-of :float :as :numerator)
