title: Is there any protocol that all Swift SIMD float types conform to?
body: <p>Most of the Swift SIMD float types have +-*/ operators, so we can just calculator the sum like below:
  </p>
  
  <pre><code>import simd
  
  float2(2.0) + float2(2.0) // float2(4.0, 4.0)
  float4(2.0) + float4(2.0) // float4(4.0, 4.0, 4.0, 4.0)
  </code></pre>
  
  <p>Now, Lets say I have a generic function that takes a pair of float2, float3 or float4 as arguments and returns the sum of them:
  </p>
  
  <pre><code>func calculateSum&lt;T: SomeProtocolCoversThoseFloats&gt;(a: T, b: T) -&gt; {
      return a + b
  }
  </code></pre>
  
  <p>Is there any protocol that functions like this "SomeProtocolCoversThoseFloats" or is there any way that I can create such a protocol?</p>