anchor.diff:              "tez2-approve",
               [
                   """He thanked me profusely.  He went out and brought more villagers back while I prepared my room, and
  -                when I was done half of the town was in the first floor.  They told me the story of how Greltza had used
  -                her [[Illusion Helm]] to take the form of a bumblebee, an animal beloved by the Guardian."""
  -                """The Town Guardian was not able to distinguish Greltza from her other bumblebees, and Greltza was able
  -                to steal the heartseed.  Greltza fled town to the east, heading towards the [[Ereshkigal Mountains]]. If
  -                she continued on that path, she would eventually cross into the [[Szaltun Desert]], before finally
  -                arriving at [[Estaton, the Inland Sea|Estaton]]."""
  +                when I was done half of the town was in the first floor."""
  +                """They told me the story of how Greltza had used
  +                her [[Illusion Helm]] to take the form of a bumblebee, an animal beloved by the Guardian.  The Town
  +                Guardian was not able to distinguish Greltza from her other bumblebees, and Greltza was able to steal
  +                the heartseed.  Greltza fled town to the east, heading towards the [[Ereshkigal Mountains]]. If she
  +                continued on that path, she would eventually cross into the [[Szaltun Desert]], before finally arriving
  +                at [[Estaton, the Inland Sea|Estaton]]."""
                   """We spoke and planned long into the night, but I was eventually able to get rest, and my steed and I
                   were refreshed in the morning when we set out.  I regretted not meeting the Town Guardian, but no
                   outsiders were allowed to visit her in her weakened state."""
  
positive.code:         | Modals.Str _ -> ()
          | Modals.Link link ->
              if not (Map.containsKey link.LinkName Modals.modals) then
                  printfn "Room %A has an invalid modal link: %s" kvp.Value link.LinkName
negative.code: 
  for kvp in pages do
      if not (Set.contains kvp.Value.Name allRoutedPages) && kvp.Value.Name <> "start" then
          printfn "Page %s is not reachable from any other pages" kvp.Value.Name
      for continuation in kvp.Value.Continuations do
          if not (Map.containsKey continuation.NextPageName pages) then
              printfn "Page %s has an invalid continuation: %s" kvp.Value.Name continuation.NextPageName
          match continuation.Condition with
          | SkillCheckRequired (attr, skill, target, effect) ->
              match effect with
              | AlternatePage name ->
                  if not (Map.containsKey name pages) then
                      printfn "Page %s has continuation with an invalid alternate page: %s." kvp.Value.Name name
              | AttributeDamage -> ()
          | _ -> ()
      for part in List.collect Modals.parseLine kvp.Value.Text do
  