Implement pick

Squashed all commits from https://github.com/caolan/highland/pull/135