**Dependent Types**are types that depend on elements of other types. In other words it is a type that is predicated upon a value. An example is the type An of vectors of length n with components of type A and type An depends on the number n, or that A n is a family of types indexed by the number n.

"Dependent types == first-order logic" (c) Neelakantan Krishnaswami.

*Motivation:*To show way of dependent type difinition in Scala by path-dependent type and implicit parameters features.

*Something like:*def mapTo[B](x : ListOf[1, Int]): (Int => B) => ListOf[1, B] def mapTo[B](x : ListOf[2, Int]): (Int => B) => (Int => B) => ListOf[2, B] def mapTo[B](x : ListOf[3, Int]): (Int => B) => (Int => B) => (Int => B) => ListOf[3, B]