/// <summary>
 /// Returns distinct elements from a sequence by using the default equality comparer to compare values.
 /// </summary>
 /// <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
 /// <param name="source">The sequence to remove duplicate elements from.</param>
 /// <returns>
 /// An <see cref="IBindableCollection{TElement}"/> that contains distinct elements from the source sequence.
 /// </returns>
 /// <exception cref="T:System.ArgumentNullException">
 ///     <paramref name="source"/> is null.</exception>
 public static IBindableCollection <TSource> Distinct <TSource>(this IBindableCollection <TSource> source) where TSource : class
 {
     return(source.Distinct(null));
 }