@resultBuilder
struct ArrayBuilder {
    static func buildBlock(_ components: [Int]...) -> [Int] {
        return Array(components.joined())
    }
    
    static func buildExpression(_ expression: Int) -> [Int] {
        print("build expression Int expression \(expression)")
        return [expression]
    }
}


@ArrayBuilder var array: [Int] {
    [1, 2, 3]
    [4, 5, 6]
    [7, 8]
    [9]
    10
}

// array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]