anchor.diff:      /// <param name="source">The input collection.</param>
       ///
       /// <returns>The result collection.</returns>
  -    let inline groupBy (projection: 'T->'Key) (source: '``Collection<'T>``) : '``Collection<'Key * 'Collection<'T>>`` = GroupBy.Invoke projection source
  +    let inline groupBy (projection: 'T->'Key when 'Key : equality) (source: '``Collection<'T>``) : '``Collection<'Key * 'Collection<'T>>`` = GroupBy.Invoke projection source
   
       /// <summary>Applies a key-generating function to each element of a collection and yields a collection of 
       /// keys. Each key contains a collection of all adjacent elements that match 
  
positive.code:     /// <param name="source">The input collection.</param>
      ///
      /// <returns>The result collection.</returns>
      let inline chunkBy (projection: 'T->'Key)    (source: '``Collection<'T>``) : '``Collection<'Key * 'Collection<'T>>`` = ChunkBy.Invoke projection source
  
      /// <summary>Returns a collection that contains all elements of the original collection while the
      /// given predicate returns true, and then returns no further elements.</summary>
  
negative.code: 
      let inline choose (chooser: 'T->'U option)   (source: '``Collection<'T>``) : '``Collection<'U>`` = Choose.Invoke chooser source
  
      let inline distinct                          (source: '``Collection<'T> when 'T : equality``) : '``Collection<'T> when 'T : equality`` = Distinct.Invoke source
      let inline distinctBy (projection: 'T->'Key when 'T : equality) (source: '``Collection<'T>``) : '``Collection<'T>`` = DistinctBy.Invoke projection source
  
      /// Inserts a separator between each element
      let inline intersperse      (sep: 'T)        (source: '``Collection<'T>``) : '``Collection<'T>`` = Intersperse.Invoke sep       source
  