EURYDICE_CFIELD
(KRML_CLITERAL(ret_t){EURYDICE_CFIELD(.ptr =)(ptr_)->data, \
EURYDICE_CFIELD(.meta =) len_})
EURYDICE_CFIELD(.fst =){EURYDICE_CFIELD(.ptr =)((slice).ptr), \
EURYDICE_CFIELD(.meta =) mid}, \
EURYDICE_CFIELD(.snd =) { \
EURYDICE_CFIELD(.ptr =) \
((slice).ptr + mid), EURYDICE_CFIELD(.meta =)((slice).meta - mid) \
EURYDICE_CFIELD(.fst =){EURYDICE_CFIELD(.ptr =)((slice).ptr), \
EURYDICE_CFIELD(.meta =) mid}, \
EURYDICE_CFIELD(.snd =) { \
EURYDICE_CFIELD(.ptr =) \
((slice).ptr + mid), EURYDICE_CFIELD(.meta =)((slice).meta - mid) \
? (KRML_CLITERAL(ret_t){EURYDICE_CFIELD(.tag =) 0, \
EURYDICE_CFIELD(.f0 =) 0}) \
: (KRML_CLITERAL(ret_t){EURYDICE_CFIELD(.tag =) 1, \
EURYDICE_CFIELD(.f0 =)(iter_ptr)->start++}))