def -> defmemo