anchor.diff:          |> Map.ofArray
   
       let language = languageMap.Item(Path.GetFileName(languagePath))
  -    let makeLessonForFile(fp: string): (LessonRecord * Stream) = 
  +    let makeLessonForFile(fp: string): (LessonRecord * string * Stream) = 
           let rootName = Path.GetFileNameWithoutExtension(fp)
           let prefixToRemove = "Magicka_"
           let lessonName = 
  
positive.code: let internal generateCardsForXml(lessonID: int, language: string)(xmlContent: string) = 
      use stringReader = new StringReader(xmlContent)
      let xel = XElement.Load(stringReader)
      generateCardsForWorkbook(language)(lessonID, xel)
  
  let internal generateCardsForLanguage(db: LLDatabase, gameID: int)(languagePath: string) = 
      let languageMap =
  
negative.code:                 Name = lessonName
              }
          let createdLessonRecord = { lessonRecord with ID = db.CreateOrUpdateLesson(lessonRecord) }
          (createdLessonRecord, fp.Substring(languagePath.Length), new MemoryStream(File.ReadAllBytes(fp)) :> Stream)
  
      let wrappedGenerateCardsForXmlStream(language: string)(lesson: LessonRecord, keyRoot: string, stream: Stream) = 
          try
              try
                  generateCardsForXmlStream(lesson, language, keyRoot, stream)
              with
              | ex -> [||]
          finally
  