import Foundation extension Sequence { func sorted(ascending: Bool = true, using conversion: (Element) -> T) -> [Element] where T: Comparable { guard ascending else { return sorted { conversion($0) > conversion($1) } } return sorted { conversion($0) < conversion($1) } } }