caar = l => car(car(l))
assoc = (x, a) => equal(caar(a), x) ? car(a) : assoc(x, cdr(a))

assertEqual(assoc('B', list(cons('A', list('M', 'N')),
                            cons('B', list('CAR', 'X')),
                            cons('C', list('QUOTE', 'M')),
                            cons('C', list('CDR', 'X')))),
            cons('B', list('CAR', 'X')))
