This adds the same printer twice if it is the first call: once in the dispatch_once block and the second time in here. It would also make sense to me to make prettyStringPrinters mutable to avoid copying it all the time.