# Pastebin gEtL9QWM multi sub postcircumfix:<{; }>(\SELF, @indices, :$exists!) { sub recurse-at-key(\SELF, \indices, \counter){ my \idx = indices[counter]; nqp::if(nqp::islt_i(counter, indices.elems), nqp::if( nqp::istype(idx, List), nqp::stmts( my int $i = 0; nqp::while( nqp::islt_i($i, idx.elems), nqp::if( SELF.EXISTS-KEY(idx[$i++]), recurse-at-key(SELF{idx[$i-1]}, indices, counter + 1) ) ).Slip ), nqp::if( SELF.EXISTS-KEY(idx), recurse-at-key(SELF{idx}, indices, counter + 1), False ) ), True ) } recurse-at-key(SELF, @indices, 0) }