anchor.diff:      | rest ->
           None
   
  +  /// Recognizes a SceneHeading (prefixed with INT/EXT, etc. or a single period)
  +  let (|SceneHeading|_|) = function
  +    //TODO: why doesn't this work? 
  +//    | String.StartsWithAny [ "INT"; "EXT"; "EST"; "INT./EXT."; "INT/EXT"; "I/E"; ] heading:string :: rest ->
  +//       Some(heading.Trim(), rest)
  +    | String.StartsWith "." heading:string :: rest ->
  +       Some(heading.Trim(), rest) 
  +    | rest ->
  +       None
  +
  +
     /// Recognizes a Lyric (prefixed with ~)
     let (|Lyric|_|) = function
       | String.StartsWith "~" lyric:string :: rest ->
  
positive.code:     | Section of int * FountainSpans
      | Span of FountainSpans
      | Lyric of FountainSpans
  
    /// A type alias for a list of blocks
    and FountainBlocks = list<FountainBlockElement>
  
negative.code:     match lines with
  
      // Recognize remaining types of blocks/paragraphs
      | SceneHeading(body, Lines.TrimBlankStart lines) ->
         yield SceneHeading(parseSpans body)
         yield! parseBlocks ctx lines
      | Section(n, body, Lines.TrimBlankStart lines) ->
         yield Section(n, parseSpans body)
         yield! parseBlocks ctx lines
  