Projection

Introduces `project`.  Relies on #21 landing first.