public struct Comment { let text : String let commenter : String let createdAt : Date let imageUrl : URL ? } asString ( ) } private static func transformDateToString ( date : Date ) -> String { return someMagicalWayToTransformDatesToStrings ( ) } } struct DateTransformer { let date : Date func asString ( ) -> Date { return someMagicalDateTransformer ( ) } } createdAt ) } } private extension Comment { static func transformDateToString ( date : Date ) -> String { return someMagicalDateTransformer ( ) } }