In [sopt/cpp/chained_operators.h](https://github.com/astro-informatics/sopt/blob/8df0cf1692ad6ad77792928ba6edf20af99a7b0e/cpp/sopt/chained_operators.h#L20), we have ```cpp if (funcs.size() == 1) (*first)(output, input); else if (funcs.size() % 2 == 1) (*first)(output, input); else { (*first)(*buffer, input); first++; (*first)(output, *buffer); } ``` As we can see, the `if` statement and the `elseif` has the same statement in their bodies. This can be cleaned up to get rid of the redundancy.