Decode a slice in a slice zone.
Slices contain a non-repeating zone and a repeating zone. To decode a Slice, you
pass a Decoder Group a (for the non-repeating zone) and a Decoder Group b
(for the repeating zone), and you'll get back a Decoder Slice (a, List b).
If your slice doesn't have one of the zones, you can just ignore it by passing a
decoder that always succeeds: succeed ().
Decode a (deprecated) old-style slice in a slice zone. The tagger is also passed the slice label.
TODO: custom label decoders?
Decode a (deprecated) old-style slice in a slice zone.