In Beef, they both generate the same assembly when you force inline the span.
[Export, LinkName("Fast")]
static int Fast(int* arr, int count)
{
int s = 0;
for (int i = 0; i < count; ++i)
{
s += arr[i];
}
return s;
}
[Export, LinkName("Slow")]
static int Slow(int* arr, int count)
{
int s = 0;
for (int x in Span<int>(arr, count))
{
s += x;
}
return s;
}