Revert "Get rid of Selection, simplifying the field API"

This reverts commit 8e2c6989b4ae8ef4e8a27478ccb840d757fc2785.