svoid test_underlinedHeadingSections() {
  S input = autoUnindent_mls([[
    prelude
    
    title
    -----
    
    text
    
    title 2
    -------
    
    text 2
  ]]);

  SS map = underlinedHeadingSections(input);
  assertEqualsVerbose(ll("", "title", "title 2"), keysList(map));
  assertEqualsVerbose("prelude", trim(map.get("")));
  assertEqualsVerbose("text", trim(map.get("title")));
  assertEqualsVerbose("text 2", trim(map.get("title 2")));
}