Oil tops $42 as OPEC+ ‘laggards’ promise to step up compliance