anchor.diff:      let destr = createCustomDestructurer None (Some builtInFSharpTypesDestructurer)
       MtAssert.RenderedAs(lang, template, values, expected, provider, additionalDestrs=[destr])
   
  -type Size = Large = 1
  -type SizeFormatter(innerFormatProvider : IFormatProvider) =
  +type Size = Regular = 1 | Large = 2
  +
  +type BernieSandersSizeFormatter (innerFormatProvider : IFormatProvider) =
     interface IFormatProvider with
       member this.GetFormat ty =
         match ty with
  
positive.code:     member this.Format (format : string, arg : obj, provider : IFormatProvider) =
        match arg with
        | :? Size as s ->
          match s with Size.Large -> "HUUGE" | _ -> s.ToString()
        | :? IFormattable as f ->
          f.ToString(format, innerFormatProvider)
        | _ ->
  
negative.code: 
  [<LangTheory; CSharpAndFSharp>]
  let ``Applies custom formatter to enums`` (lang) =
      let provider = (BernieSandersSizeFormatter CultureInfo.InvariantCulture) :> IFormatProvider
      let template = "Size {size}"
      let values : obj[] = [| Size.Large |]
      let expected = "Size YUUUGE"
      MtAssert.RenderedAs(lang, template, values, expected, provider)