defer-x
foreach-x and on-x
refactor for each, on, defer
map-x and flatmap-x
recover-x
then-x