How to control spacing between list item and a nested list, not affecting other list-related spacing values?

The following is an example how to control spacing before, after and within a list.

// assumes typst 0.12+

#set par(leading: 1em, spacing: 1em)
#show enum: set par(leading: 0.5em, spacing: 4em)
#show enum: set block(spacing: 6em)
#show enum: e => {
  show par: p => {
    p
    v(2em, weak: true)
  }
  e
}

// --

#lorem(20)

#lorem(20)

+ #lorem(20)

  #highlight[a] #lorem(20)

  + #highlight[b] #lorem(10)

  + #lorem(10)

+ #highlight[x] #lorem(20)

  + #highlight[y] #lorem(10)

  + #lorem(10)

+ #lorem(20)

#lorem(20)

#lorem(20)
Output

The only thing here that I haven’t figured out yet is how to control spacing between list item and the nested list, that is, between “a” and “b” paragraphs, and between “x” and “y” paragraphs.

How is it possible to make it 4em instead of 2, and without altering the rest layout?