Destructure.ByTransforming<System.Type> does not appear to take effect

I am attempting to destructure System.Type by using just the type name, sans namespace, but am getting an unexpected result.


The first transformation works as expected, producing the short string (the first 8 characters of a Guid). However, the second is never called:

.Destructure.ByTransforming<Id>(id => id.ToShortString())
.Destructure.ByTransforming<Type>(type => UseUnqualifiedName(type) ? type.Name : type.ToString())


_logger.LogInfo("Instance loaded: {@Type}.{@Id}", typeof(MyProject.MyNamespace.MyType), id);


[INF] Instance: MyType.64b8ac0d


[INF] Instance: MyProject.MyNamespace.MyType.64b8ac0d

In addition, the fully-qualified name is green in the console output. I noticed this is also the case with System.Uri, and wonder if Serilog treats these types specially.

What can I do to affect the destructuring of System.Type?