Find the Missing Letter Guidelines
Task
Write a method that takes an array of consecutive (increasing) letters as input and that returns the missing letter in the array (lists in some languages).

Rules

This is code golf so the shortest answer in bytes wins!
You will always get a valid array
There will always be exactly one letter missing
The length of the array will always be at least 2.
The array will always contain letters in only one case (uppercase or lowercase)
You must output in the same case (uppercase or lowercase) that the input is
The array will always only go one letter a time (skipping the missing letter)
The array length will be between 2 and 25
The first or last element of the array will never be missing


Examples
['a','b','c','d','f'] -&gt; 'e'
['O','Q','R','S'] -&gt; 'P'
['x','z'] -&gt; 'y'
['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','w','x','y','z'] -&gt; 'v'
C# (.NET Core), 48 47 46 bytes, input as char array



s=&gt;{for(int i=0;s[++i]==++s[0];);return s[0];}


Try it online!

Explanation: the first element in the array is incremented as well as a pointer iterating the following elements. When both the first element and the current element are different, it returns the first element.

C# (.NET Core), 58 56 50 bytes, input as string



s=&gt;{var c=s[0];while(s.IndexOf(++c)&gt;=0);return c;}


Try it online!

Previous 58-byte solution (referenced in the first comment):

s=&gt;{for(int i=1;;i++)if(s[i]-s[0]&gt;i)return(char)(s[i]-1);}


Algorithms using System.Linq

The following algorithms must add using System.Linq; (18 bytes) to the byte count and therefore are longer.

I quite liked this one (52+18 bytes):

s=&gt;{int i=0;return(char)(s.First(c=&gt;c-s[0]&gt;i++)-1);}


And you also have a one-liner (45+18)-byte solution:

s=&gt;(char)(s.Where((c,i)=&gt;c-s[0]&gt;i).First()-1)


And a very clever (37+18)-byte solution, courtesy of Ed'ka:

s=&gt;s.Select(e=&gt;++e).Except(s).First()