         :else
           ocean))))
 
-(defn coerce [f]
-  (fn [x y]
-    (f [x y])))
 
 (defn -main [& args]
   (let [n (rn/create-noise)]
     #_(rn/print-fn (fn [x y] (rn/noise n x y)) 180 180)
-    (rn/print-fn (coerce (invert (offset (vsnoise (partial rn/noise n))  (scale 0.2 (radius))))) 180 180)))
+    (rn/print-fn (coerce (sample-tree n)) 180 180)
+    #_(rn/print-fn (coerce (invert (offset (vsnoise (partial rn/noise n))  (scale 0.2 (radius))))) 180 180)))
 

    :else
      (v+ xy-or-fn-0 (v* -1 xy-or-fn-1))))

#_(defn sample-tree
  (offset [-0.5 -0.5] (v+ [-0.5 -0.5 -0.5] (scale 0.01 noise))))

#_(defn sample-island
  [noise x y]

(defn vsnoise
  [fnoise]
  (fn [[x y]]
    (vec (fnoise x y) (fnoise (+ x 12.301) (+ y 70.261)))))

(defn vnoise
  [noise]
  (fn [[x y]]
    (vec (rn/noise noise x y) (rn/noise noise (+ x -78.678) (+ y 7.6789)))))

(defn v+
  [xy-or-fn-0 xy-or-fn-1]
