 
 (defn recalculate-edge [has ha index t]
   (let [edge (nth (:edges (current-state ha)) index)
-        ;todo: Does this suffice? Should the transition be intersected with "the future" in any other places, eg update-scene or next-transition?
+        ;todo: Does this suffice? Should the transition be intersected with "the future" in any other places, eg update-scene or next-transition? Does that explain the weird interval calculated for :m in the initial setup?
         transition (update (transition-interval has ha edge)
                            :interval (fn [intvl]
                                        (iv/intersection intvl [t Infinity])))

               (make-edge
                 :moving-left
                 (non-bumping-guard :right walls others)
                 #{[:on #{:left}]}))
             (make-state
               :moving-right
               {:x move-speed}
               (make-edge
                 :idle-right
                 nil

               (make-edge
                 :moving-left
                 (non-bumping-guard :right walls others)
                 #{[:on #{:left}]})
               (make-edge
                 :falling-idle-right
                 (unsupported-guard 16 16 walls others)
                 #{:required}))
             (make-state
               :idle-left
               {}
