Re-implement deriveOAList