conform to fold signature of Gen's fold_map