struct Category: Identifiable {
    let id = UUID().uuidString
    var name: String
    var subcategories: [Category]?   //this type MUST be the same as the parent

    var sortedSubcategories: [Category]? {
        subcategories?.sorted(by: { $0.name < $1.name })
    }
}