milessabin/shapeless — pull request #86 by jto (2014-03-25 19:49:12+00:00)
Title: Support for Witness in Lens

This PR makes it possible to use field names in Lens:

```scala
case class Address(street : String, city : String, postcode : String)
case class Person(name : String, age : Int, address : Address)

val address = Address("Southover Street", "Brighton", "BN2 9UA")
val person = Person("Joe Grey", 37, address)

val streetLens = Lens[Person] >> 'address >> 'street

streetLens.get(person) // res0: String = Southover Street
streetLens.set(person)("Ewart St") // res1: Person = Person(Joe Grey,37,Address(Ewart St,Brighton,BN2 9UA))
```