title: SwiftUI view with multiple ViewBuilder
body: <p>I have a view that represents a row in a cell that looks like this</p>
  
  <p><a href="https://i.stack.imgur.com/tywiK.png" rel="noreferrer"><img src="https://i.stack.imgur.com/tywiK.png" alt="view "></a></p>
  
  <p>This works well but the three horizontal elements (Image, Title/Subtitle, Image) are hardcoded to their respective types. </p>
  
  <p>I would like to have a generic <code>ThreeItemView</code> that can takes 3 <code>Views</code> of any type and arrange them as shown. This would allow me to reuse the same container layout with any other views types.</p>
  
  <p>I created a view that takes three <code>@ViewBuilders</code>:</p>
  
  <pre><code>import Foundation
  import SwiftUI
  
  struct ThreeItemView&lt;Start: View, Main: View, End: View&gt;: View {
  
      let start: () -&gt; Start
      let main: () -&gt; Main
      let end: () -&gt; End
  
      init(@ViewBuilder start: @escaping() -&gt; Start,
          @ViewBuilder main: @escaping() -&gt; Main,
          @ViewBuilder end: @escaping() -&gt; End) {
          self.start = start
          self.main = main
          self.end = end
      }
  
      var body: some View {
          return HStack {
              start()
              main()
                  .frame(minWidth: 0, maxWidth: .infinity, maxHeight: .infinity, alignment: .leading)
              end()
          }
          .frame(minWidth: 0, maxWidth: .infinity, maxHeight: 60, alignment: .leading)
      }
  }
  
  struct ThreeItemContainer_Previews: PreviewProvider {
      static var previews: some View {
  
          ThreeItemView(start: {
              Image(systemName: "envelope.fill")
          }, main: {
              Text("Main")
          }, end: {
              Image(systemName: "chevron.right")
          })
      }
  }
  </code></pre>
  
  <p>This works as expected but the API is a bit .. cumbersome. What would be a way to make the usage of the <code>ThreeItemView</code> easier?</p>