Workspace.removed event receives already "expired" workspace object in lua

Hyprland version
Hyprland 0.56.2 built from branch v0.56.2 at commit efb50993780079460b0cbed1363e2166a2de1d9f clean ([gha] Nix: update inputs).
Date: Wed Aug 5 14:13:21 2026
Tag: v0.56.2, commits: 7661

Libraries:
Hyprgraphics: built against 0.5.1, system has 0.5.1
Hyprutils: built against 0.14.2, system has 0.14.2
Hyprcursor: built against 0.1.13, system has 0.1.13
Hyprlang: built against 0.6.8, system has 0.6.8
Aquamarine: built against 0.15.1, system has 0.15.1

Version ABI string: efb50993780079460b0cbed1363e2166a2de1d9f_aq_0.15_hu_0.14_hg_0.5_hc_0.1_hlg_0.6
no flags were set

I’m trying to use the "workspace.removed" lua event, but the workspace lua object is in “expired” state - it has no id or name.

hl.on("workspace.removed", function (workspace)
  if workspace.id == nil then
    hl.notification.create({ text = "Which workspace was removed?" })
  end
end)

Is this the intended behavior? Basically lua config can tell that some workspace was removed, but can’t easily figure out which exact workspace was removed?