Add an example of a function with an implicie parameter and uses it internally.
Simplify implicit parameter functions by using a view bound.

You can think of "T <% Ordered[T]" as saying, "I can use any T, so long
as T can be treated as an Ordered[T]."

This is different from saying that T is an Ordered[T], which is what
an upper bound, "T <: Ordered[T]", would say. For example, even though
class Int is not a subtype of Ordered[Int], you could still pass
a List[Int] to maxList so long as an implicit conversion from Int
to Ordered[Int] is available.

Moreover, if type T happens to already be an Ordered[T], you can still
pass a List[T] to maxList. The compiler will use an implicit
identity function, declared in Predef:

   implicit def identity [A] (x: A): A = x

In this case, the conversion is a no-op; it simply returns the object it
is given.