An exercise in building cool extension methods for C#