anchor.diff:       yield item
        yield! parseBlocks ctx (Some(item)) rest
   
  -  | Transition lastParsedBlock (body, (*Lines.TrimBlankStart*) rest) ->
  +  | Transition(body, (*Lines.TrimBlankStart*) rest) ->
        let item = Transition(parseSpans body)
        yield item
        yield! parseBlocks ctx (Some(item)) rest
  
positive.code:     | SceneHeading _ -> false //note: it's decomposing the match and the rest and discarding the rest: `SceneHeading _` 
      | Character _ -> false
      | Lyric _ -> false
      //| Transition _ -> false
      | Centered _ -> false
      | Section _ -> false
      //| Comments _ -> false
  
negative.code: 
  //==== /DIALOGUE
  
  // Transition
  let (|Transition|_|) (input:string list) =
     match input with
     | blockContent :: rest ->
        if blockContent.StartsWith "!" then // guard against forced action
          None
        elif blockContent.EndsWith "TO:" || blockContent.StartsWith ">" then // TODO: need to check for a hard linebreak after
          if blockContent.StartsWith ">" then //TODO: can we combine this with the previous line? F#'ers?
            Some(blockContent.Trim().Substring(1), rest)
          else
            Some(blockContent.Trim(), rest)
        else
         None
     | [] -> None
  
  
  //// Transition
  //let (|Transition|_|) (lastParsedBlock:FountainSharp.Parse.FountainBlockElement option) (input:string list) =
  //  match lastParsedBlock with
  //  | None //could be the first thing, so handle as if it had something else before it.
  //  | Some (FountainSharp.Parse.Transition(_)) ->
  //  //| Some (FountainSharp.Parse.Block(_)) ->
  //     match input with
  //     | blockContent :: rest ->
  //        if blockContent.StartsWith "!" then // guard against forced action
  //          None
  //        elif blockContent.EndsWith "TO:" || blockContent.StartsWith ">" then // TODO: need to check for a hard linebreak after
  //          if blockContent.StartsWith ">" then //TODO: can we combine this with the previous line? F#'ers?
  //            Some(blockContent.Trim().Substring(1), rest)
  //          else
  //            Some(blockContent.Trim(), rest)
  //        else
  //         None
  //     | [] -> None
  //  | _ -> None
  
  //==== ACTION
  
  