(defisland
  ()
  (let
    ((first-sig (signal 0))
      (second-sig (signal 0))
      (renders (signal 0))
      (_eff
        (effect
          (fn () (deref first-sig) (deref second-sig) (swap! renders inc)))))
    (div
      (~tw :tokens "rounded-lg border border-stone-200 p-4 space-y-2")
      (div
        (~tw :tokens "flex items-center gap-4 text-sm")
        (span (str "first: " (deref first-sig)))
        (span (str "second: " (deref second-sig)))
        (span
          (~tw :tokens "px-2 py-0.5 rounded bg-green-100 text-green-800 text-xs font-semibold")
          (str "renders: " (deref renders))))
      (div
        (~tw :tokens "flex items-center gap-2")
        (button
          (~tw :tokens "px-3 py-1 rounded bg-violet-600 text-white text-sm")
          :on-click (fn
            (e)
            (batch (fn () (swap! first-sig inc) (swap! second-sig inc))))
          "Batch +1")
        (button
          (~tw :tokens "px-3 py-1 rounded bg-stone-400 text-white text-sm")
          :on-click (fn (e) (swap! first-sig inc) (swap! second-sig inc))
          "No-batch +1")))))
