left and right (safe and unsafe) folds