struct SingleAttributeTransformer<T> where T : AttributedStringKey
var range: Range<AttributedString.Index>
var value: T.Value?
func replace<U>(with: U.Type, value: U.Value)
func replace<U>(with: KeyPath<AttributeDynamicLookup, U>, value: U.Value)