How to set an enum numbering rule with multiple levels

I am looking to produce something like the following:

Setting a custom rule for enum works partly, but obviously applies to all the sublevels as well.


#set enum(numbering: n => [*Question #n.*])
+ Suppose two balanced coins are tossed. Assume equally likely outcomes.
  +  List the sample space for this experiment.
  +  Let $A $ denote the event that _exactly_ one head is observed. Let $B $ be the event _atleast_ one head is observed. List the sample points in $A $ and $B $.
  +  Find $P(A)$, $P(B)$, $P(A union B)$, and $P(A sect B)$.

This produces something like


which not only appends the “Question” part to the inner list, but also produces an indentation that I would like to avoid.

I found a related thread but it’s a bit beyond what I can understand.

I also know there is an itemize package and I am going through it, but it’s taking some time.

I found somewhat of a solution, from a online post somewhere.


#set enum(numbering: n => [*Question #n*.])
#show enum.item: it => {
  if repr(it.body.func()) == "sequence" {
    let children = it.body.children
    let index = children.position(x => x.func() == enum.item)
    if index != none {
      enum.item({
        children.slice(0, index).join()
        set enum(indent: -4.5em, numbering: "a.") // Note that this stops an infinitly recursive show rule
        children.slice(index).join() // basically the inner enum.items (all of them)
      })
    } else { 
      it 
    }
  } else {
    it
  }
}

This seems to work as long as I maintain the spacing


+ Suppose two balanced coins are tossed. Assume equally likely outcomes
  + List the sample space for this experiment.
  + Let $A $ denote the event that _exactly_ one head is observed. Let $B $ be the event _atleast_ one head is observed. List the sample points in $A $ and $B $.
  + Find $P(A)$, $P(B)$, $P(A union B)$, and $P(A inter B)$.

  | any text follows original indentation of the enum 

except the | any text follows original indentation of the enum is completely misaligned. See the image. How can I force the text to go back to 0 indentation?