anchor.diff:                                                              | a when a.Contains("!Sample_molecule_ch")          -> loop nextToken acc t ch org src char ((a,v)::mol) sra
                                                               | "!Sample_relation" when (v.Contains("SRA"))       -> loop nextToken acc t ch org src char mol (if v.Contains("SRA") then v else sra)
                                                               | _                                                 -> loop nextToken acc t ch org src char mol sra
  -                                
  +                            
                   //return finished sample when new entity starts
                   |Attribute (a,v),Entity (e,ev) ->   match a with
                                                       | "!Sample_title"                                   -> nextToken,acc,(createSampleInfos acc v ch (Map.ofList (reduceMaps org)) (Map.ofList (reduceMaps src)) (Map.ofList (reduceMaps char)) (Map.ofList (reduceMaps mol)) sra)
  
positive.code:                 | Attribute (a,v),Entity (e,ev) ->  match a with   
                                                      | "!Platform_title" -> token,acc,createPlatformInfos acc v org
                                                      | "!Platform_organism" -> token,acc,createPlatformInfos acc name org
                                                      | _ -> token,acc,createPlatformInfos acc name org
                  //not interesting
                  | _ -> loop nextToken acc name org
              else 
  
negative.code:     open System.Collections.Generic
      open FSharpAux.IO
  
      //TODO : Full parsing, get rid of the "not interesting" cases and just parse everything. Remodel parser to return these types instead of string maps and such.
  
      type SOFTSeriesSpecifications =
      ///Provide an identifier for this entity. This identifier is used only as an internal reference within a given file. The identifier will not appear on final GEO records.
  