anchor.diff:      | Separator ->
           "----"
       | Styled (s, d) when state.UseStyles ->
  -        stylise s <| printState state d
  +        stylise s state.CurrentStyle <| printState { state with CurrentStyle = Some s } d
       | Styled (s, d) ->
           printState state d
       | VSkip ->
  
positive.code: /// <summary>
  ///     Prints a <see cref="Doc"/> with full styling.
  /// </summary>
  let printStyled = printState { Level = 0; UseStyles = true }
  
  /// <summary>
  ///     Prints a <see cref="Doc"/> with no styling.
  /// </summary>
  let printUnstyled = printState { Level = 0; UseStyles = false }
  
  
  /// <summary>
  
negative.code: let syntaxIdent d = Styled([Cyan], d)
  let syntaxView d = Styled([Yellow], d)
  
  (* Helpers for styling Docs for errors. *)
  let error d = Styled([Red], d)
  let errorContext d = Styled([Cyan], d)
  let errorInfo d = Styled([Magenta], d)
  
  /// <summary>
  ///     Styles a string with ANSI escape sequences.
  /// </summary>
  /// <param name="s">
  ///     The list of styles to turn into ANSI codes and apply to the result.
  /// </param>
  /// <param name="l">
  ///     The optional list of styles previously in effect.
  /// </param>
  /// <param name="d">
  ///     The string to stylise.
  /// </param>
  /// <returns>
  ///     The stylised (ANSI-escaped) string.
  /// </param>
  let stylise s l d =
      let colCode =
          function
          | Black -> 0
  