add toCompleteMap method
remove covariance and simplify distinctBy
add examples to scaladocs for extension methods