2 : (-> (-> a a) (-> a a))
2 = ((fn
    (the (-> (-> a a) (-> a a)) x)
    (poly b (fn (the (-> b b) x0) (fn (the b x1) (x b x0 (x0 x1))))))
   ((fn
       (the (-> (-> a0 a0) (-> a0 a0)) x2)
       (poly
          b0 (fn (the (-> b0 b0) x3) (fn (the b0 x4) (x2 b0 x3 (x3 x4))))))
      (poly b1 (fn (the (-> b1 b1) x5) (fn (the b1 x6) x6)))))
2 = (poly b (fn (the (-> b b) x) (fn (the b x0) (x (x x0)))))