<h1>Compare Stackage snapshots

$maybe prevprev <- mprevprevSnapName
  <div .snapshot-nav>
    <a href=@{StackageDiffR prevprev name1}>
      \< previous diff

<div .container .content>
  <div .packages>
    <table .table>
      <thead>
        <tr>
          <th>#{name1}
          <th>#{name2}
      <tbody>
        $forall (pkgname, VersionChange verChange, versionDiff) <- toVersionedDiffList snapDiff
          <tr>
            $case verChange
              $of This oldVersion
                <td> #{pkgname}
                <td>
                  <a href=@{packageUrl name1 pkgname oldVersion}#changes>
                    <span .version-removed>#{oldVersion}
              $of That newVersion
                <td> #{pkgname}
                <td>
                  <a href=@{packageUrl name2 pkgname newVersion}#changes>
                    <span .version-added>#{newVersion}
              $of These oldVersion newVersion
                $maybe (common, old, new) <- versionDiff
                  <td> #{pkgname}
                  <td>
                    <a href=@{packageUrl name1 pkgname oldVersion}#changes>
                      #{common}#
                      <span .version-removed>#{old}
                    &rarr;
                    <a href=@{packageUrl name2 pkgname newVersion}#changes>
                      #{common}#
                      <span .version-added>#{new}
                $nothing
                  <td> #{pkgname}
                  <td>
                    <a href=@{packageUrl name1 pkgname oldVersion}#changes>
                      <span .version-removed>#{oldVersion}
                    &rarr;
                    <a href=@{packageUrl name2 pkgname newVersion}#changes>
                      <span .version-added>#{newVersion}
