collection wrapper: return error if no callback