title: YAML multi-line strings: keys vs array values
body: <p>This is very specific but left me stumped. We treat nested keys + regular arrays almost the same on parsing – sometimes adding extra info when needed, like this:</p>
  
  <pre><code>---
  Entry 1:
      - lorem:
          true
      - ipsum
      - dolor
  Entry 2:
      - lorem
      - ipsum:
          true
      - dolor
  ...
  </code></pre>
  
  <p>… which gives me this JSON:</p>
  
  <pre><code>{
    "Entry 2": [
      "lorem", 
      {
        "ipsum": true
      }, 
      "dolor"
    ], 
    "Entry 1": [
      {
        "lorem": true
      }, 
      "ipsum", 
      "dolor"
    ]
  }
  </code></pre>
  
  <p>All cool and fine. Entering multiline strings for content it gets messier but still works ok like this (keep pasting those to <a href="https://yaml-online-parser.appspot.com/" rel="noreferrer">Online YAML Parser</a> or some other compiler for reference):</p>
  
  <pre><code>---
  #works:
  
  Test:
    - lorem
    - ipsum
    - dolor
  ? |-
      multiline
      Test
  :
    - lorem
    - ipsum:
        true
    - dolor
  ...
  </code></pre>
  
  <p>going deeper, multiline strings in my 2nd level array work as well, as expected by the spec:</p>
  
  <pre><code>---
  #works:
  Test:
      - |-
          multiline
          lorem
      - ipsum
      - dolor
  ? |-
      multiline
      Test
  :
      - lorem
      - ipsum:
          true
      - dolor
  ...
  </code></pre>
  
  <p>Wohoo! But as soon as I <em>mix</em> multi-line keys and multi-line array strings on the same level, my setup breaks:</p>
  
  <pre><code>---
  #breaks:
  Test:
      - |-
          multiline
          lorem
      ? |- 
          multiline
          ipsum
      : 
          true
  ? |-
      multiline
      Test
  :
      - lorem
      - ipsum:
          true
      - dolor
  ...
  </code></pre>
  
  <p>How to fix that?</p>