title: Elegant way to flatten a simd_float4x4 matrix
body: <p>I would like to flatten a <code>simd_float4x4</code> or a <code>simd_float3x3</code> matrix into a single array of float elements.</p>
  
  <p>For a regular array I would use</p>
  
  <pre><code>let arr = [[1,2,3],[4,5,6],[7,8,9]]
  print(arr.flatMap { $0 })
  </code></pre>
  
  <p>How can I do this for a <code>simd_float4x4</code> or <code>simd_float3x3</code> structure elegantly? </p>
  
  <p>I am currently using this, </p>
  
  <pre><code>extension simd_float3x3 {
      var array: [Float] {
          return [columns.0.x, columns.0.y, columns.0.z,
                  columns.1.x, columns.1.y, columns.1.z,
                  columns.2.x, columns.2.y, columns.2.z]
      }
  }
  
  let arr = simd_float3x3.init()
  print(arr.array.compactMap({$0}))
  </code></pre>