`getCanonicalMDString()` also returns a `nullptr` for empty strings, which tripped over the `getSource()` method. which tripped over the `getSource()` methodSolve the ambiguity of `None` versus an `Optional` containing a `nullptr` by simply storing a pointer.