Why does `pagebreak(weak: true)` result in a empty page when wrapped in a `#page[]`?

I can explain the phenomenon. According to the source code, the page function is roughly equivalent to this:

#let page(body) = {
  pagebreak(weak: true)
  place.flush()
  body
  pagebreak(weak: true)
}

As a result, #page[#pagebreak(weak: true); Page page] becomes:

#pagebreak(weak: true)
#place.flush()
#pagebreak(weak: true)
Page page
#pagebreak(weak: true)

So there’re two pages.

See also Why does pagebreak(weak: true) result in a empty page when wrapped in a #page{}? … - Search | DeepWiki

This might be a bug, but I’m not sure…