Scala 2.8 formalized the ability to encode type information into implicit parameters. Manifests were added specifically to handle arrays and generalized to be useful in other situations where the type needs to be available at runtime. In this article from chapter 7 of Scala in Depth, author Joshua Suereth shows how Manifests are useful in Scala to create abstract methods whose implementations diverge based on the types they work on, but the resulting outputs do not.

Using Manifests (PDF)