Rename repo lift to IO function
Added lift functions into Gen for monads
Bug fix for rebase when identical patches

Since identical patches conflict, we were getting a failed rebase
when it was trivial so solve it because all patches were equal.