Map
public static TResult Map<TSource, TResult>( this TSource @this, Func<TSource, TResult> fn) => fn(@this); );
Tee
public static TResult Tee<t>(
this T @this,
Action<T> fn) => fn(@this)
{
act(@this);
return @this;
}
);
Partial Function Application
public static Func<int, int> Add(int x) => y => x + y;
new[] {1, 2, 3}.Select(Add(1))
More stuff like this in Dave Fancher PluralSight course Functional Programming with C#