In simple terms

In this experiment designed by Vanessa Loiza and colleagues (2024), people were asked to remember several shapes for a short time. Some of the shapes were concrete, like familiar everyday objects, while others were abstract, meaning meaningless scrambled versions of objects. People usually do better with concrete shapes, because they can connect them to long-term memory (for example, you can label a “chair” in your mind, but you can’t easily label a random squiggle).

The key twist in this task is the retro-cue. After the shapes disappeared, a brief cue appeared telling participants which shape would be tested. This cue doesn’t show new information; instead, it directs attention to one item already in memory. By focusing mental resources on the cued item, people can “refresh” it and remember it more accurately later.

The results showed two things.

  1. People could hold more concrete shapes in mind than abstract ones, confirming that long-term memory helps working memory overall.

  2. More importantly for this study than finding one, the retro-cue improved memory for both concrete and abstract shapes equally. That means the act of focusing attention in working memory works just as well whether the item is something you already know or something completely unfamiliar.

Research history

Psychologists have long debated how working memory (WM) and long-term memory (LTM) are related. We know that LTM generally improves WM performance—for example, people remember familiar objects or words more easily than unfamiliar ones. But it has been unclear whether LTM specifically helps with refreshing information in WM, that is, bringing items back into focus when they are no longer visible. Some studies suggested that familiar information gets a bigger boost from attention (retro-cues), while others found retro-cue benefits regardless of familiarity.

In this study, they found that retro-cues help regardless of familiarity.

This debate matters because it touches on the basic architecture of memory. If WM is simply an “activated part” of LTM, then attention-based refreshing should depend on prior knowledge. If WM and LTM are separate systems, then retro-cues should work the same way no matter what the items are. This study builds on that debate by carefully testing both familiar (concrete) and unfamiliar (abstract) shapes, controlling performance at baseline, and asking whether LTM changes the size of the retro-cue effect.

Critical discussion

The authors interpret their results as support for the idea that working memory (WM) and long-term memory (LTM) are distinct systems. Because retro-cues improved memory equally for both familiar and unfamiliar shapes, they argue that LTM does not directly influence the mechanism of refreshing in WM.

One can argue, however, that this conclusion depends on a specific interpretation of what retro-cues are doing. Retro-cues are usually thought to “refresh” items by reactivating them, but they may instead work by strengthening items that are already active, by protecting them from interference, or simply by guiding attention to the right place at test. If so, the finding of no difference between concrete and abstract shapes does not necessarily prove that WM and LTM are separate. It may just show that retro-cues are a powerful attentional tool that helps regardless of prior knowledge.

This means the study adds strong evidence that retro-cues consistently help memory, but whether that settles the larger theoretical debate about WM and LTM remains open.

Task design

Trial timeline (Experiment 1 of the study):

  • Fixation (0.5 s): A cross appears.

  • Memory array (1.0 s): Several shapes are shown—either concrete (familiar, nameable) or abstract (scrambled, meaningless) depending on the block.

  • Retention interval (2.25 s): Screen is blank.

  • Test prompt: One of the shapes appears at screen center; participants report its color using a continuous color wheel with the mouse. Responses are untimed, but participants are encouraged to answer quickly and accurately; recall error (distance between target color and response) is recorded (degrees)

  • Intertrial interval (1.0 s): Next trial begins.

Conditions:

Factor 1 is shape type (concrete or abstract) Factor 2 is the type of cue (no cue or a cue)

These two factors form a 2x2 design with four conditions: Condition 1: Concrete shapes with cue Condition 2: Concrete shapes without cue Condition 3: Abstract shapes with cue Condition 4: Abstract shapes without cue

Abstract shapes here means simply objects that look like nothing you know, they are sort of random line drawings.

About our implementation

We followed the paper carefully, but we added a few features.

  1. We added a practise block with unique shapes, just so people understand the basics of the task. If you do not want this, you can remove this from the task by removing the trainingblock.

  2. After people responded, we gave detailed feedback, that is, we showed the original location and shape and color, and also where people clicked and how far away it was from the required response. We also show a running score on the screen to encourage participants.

Run the demo

Data output file

You do not need this information, unless you want to understand the output data file. You can ignore this if you just want to find out your own score. This is only necessary if you want to carry out the experiment with multiple participants.
In PsyToolkit, the data output file is simply a textfile. The save line of the PsyToolkit experiment script determines what is being saved in the data output file. Typically, for each experimental trial, you would have exactly one line in your text file, and each number/word on that line gives you the information you need for your data analysis, such as the condition, response speed, and whether an error was made.

Meaning of the columns in the output datafile. You need this information for your data analysis.

Colum

Meaning

save BLOCKNUMBER &setSize &conditionAC &rotationWheel &targetAngle &chosenAngle &diffScore RT &targetR &targetG &targetB MOUSE_R MOUSE_G MOUSE_B

1

Block number

2

The number of objects in the memory array

3

Type of shapes: 0) training shapes, 1) concrete shapes, 2) abstract shapes

4

Retro-cue present: 1) Yes, 2) No cue

5

Rotation of colorwheel (reported, but not really useful for analysis)

6

Angle of the target

7

Angle chosen by participant

8

The score (difference between the two angles)

9

Reaction time

10

The red channel value of the target stimulus (0-255)

11

The green channel value of the target stimulus (0-255)

12

The blue channel value of the target stimulus (0-255)

13

The red channel value the participant picked (0-255)

14

The green channel value the participant picked (0-255)

15

The blue channel value the participant picked (0-255)

How to analyze data from experiments

When you embed the retrocue experiment in your survey, you need (as always), make sure you set the "analyze" parameters of your experiment. In this case, it is very simple, for the dependent variable you just use value 8 (the score, lower values are better). For groups you use the conditions (3 and 4)

This way, you get the response time for all the conditions. For more sophisticated analyses, we recommened to use R and the PsyToolkit R pacakge.

PsyToolkit code

Click to expand the PsyToolkit script code (part of zip file below)
options
  #--basic parameters---------------------------------------
  set &stimulus_width 147 # needed for the background image to color stimuli, note the images are 148px, but reduce by one to remove outline
  set &encoding_timeTraining 3000 # used for training
  set &encoding_timeNormal 1000 # in paper it is 1000ms, but for testing can try more
  set &errorCutOff 40 ## 40 degrees in moving window
  set &movingWindow 4 ## how many trials back for calculating error rate
  set &totalTrialsTodo 130 # this is just for the feedback to participants and is constant
  #---------------------------------------------------------
  mouse on
  resolution 1920 1080 # this is standard HD
  fullscreen
  scale
  background color 128 128 128 # grey background
  bitmapdir stimuli
  set &&xpos     0  200 100 -100 -200         # for positioning in memory display
  set &&ypos  -170 -100 150  150 -100
  #
  set &&abstractBitmaps range 2 504       # we will refer to these bitmaps using their numbers
  set &&concreteBitmaps range 505 1008    # we will refer to these bitmaps using their numbers
  set &&trainingBitmaps range 1009 1018   # we will refer to these bitmaps using their numbers
  #
  # following are CIELAB color values for each degree of the color wheel (these are file rgbvalues.txt)
  # there are exactly 360 lines, one color for each degree
  set &&reds   file rgbvalues.txt 2 # column 2 of file
  set &&greens file rgbvalues.txt 3 # column 3 of file
  set &&blues  file rgbvalues.txt 4 # column 2 of file
  #
  set &showScores 1 # 0: do not show, 1: do show

include bitmaps.txt

svgs
  feedback # used for creating feedback screen at end

## ---------------------------------------------------------------------------------------------
## "part" (sort of inline function) to draw connecting dots between two angles
## uses $tmpAngle1 , $tmpAngle2

part connectAngles
  draw off
    set $diffAngles1 expression $tmpAngle1 - $tmpAngle2
    set $diffAngles2 expression $tmpAngle2 - $tmpAngle1
    if $diffAngles1 >= 0 and $diffAngles1 <= 1800 # angle2 < angle1, so just go from angle 2 to angle1
      for $i in $tmpAngle2 to $tmpAngle1 by 25
        set &&tmpCoordinates circle 0 0 325 $i
        show circle &&tmpCoordinates[1] &&tmpCoordinates[2] 3 black
      for-end
    fi
    if $diffAngles2 >= 0 and $diffAngles2 <= 1800 # angle1 < angle2, so just go from angle 2 to angle1
      for $i in $tmpAngle1 to $tmpAngle2 by 25
        set &&tmpCoordinates circle 0 0 325 $i
        show circle &&tmpCoordinates[1] &&tmpCoordinates[2] 3 black
      for-end
    fi
    if $diffAngles1 >= 1800
      set $tmpAngle2 increase 3600
      for $i in $tmpAngle1 to $tmpAngle2 by 25
        set &&tmpCoordinates circle 0 0 325 $i
        show circle &&tmpCoordinates[1] &&tmpCoordinates[2] 3 black
      for-end
    fi
    if $diffAngles2 >= 1800
      set $tmpAngle1 increase 3600
      for $i in $tmpAngle2 to $tmpAngle1 by 25
        set &&tmpCoordinates circle 0 0 325 $i
        show circle &&tmpCoordinates[1] &&tmpCoordinates[2] 3 black
      for-end
    fi
  draw on

# -------------------------------------------------------------------------------------------------------------------------

task retrocue
  set &trialCounter increase
  ## -- begin official trial ---------------------------------------
  show bitmap fixpoint
  delay 500
  clear -1
  ## -- choose 5 random bitmaps (abstract or concrete) and put in &&myBitmaps
  if &conditionAC = 0 # this is training
    set &&myBitmaps sample &setSize from &&trainingBitmaps # this is a random sample of all available images (we will not remove them)
  fi
  if &conditionAC = 1 # this is concrete
    set &&myBitmaps draw &setSize from &&concreteBitmaps # this is a random draw of all available images (they are removed once used)
  fi
  if &conditionAC = 2 # this is abstract
    set &&myBitmaps draw &setSize from &&abstractBitmaps # this is a random draw of all available images (they are removed once used)
  fi
  ## ---------------------------------------------------------------
  ## now choose one of &&myBitmaps and make that the target (the stimulus to respond to)
  set &targetItem &&myBitmaps use random # this is the bitmap number
  set &targetItemNum &&myBitmaps locate &targetItem ## needed for later matching with targetcolors
  ## -- now choose random colors from the CIELAB palet
  # for the first color, we choose a value between 1 and 71, and then add 72 for next colors to make sure they are spread out
  # &color1 etc are just indices on all the R/G/B values in the 359 item long palettes
  set &&randomColors clear # for each stimulus in the &&myBitmaps you need a color, they need to be cleared each trial
  set &colorDistance expression 360 / &setSize ## colors are spread out over a range, it must be 360 and not 3600 because colors are in arrays of 360 values
  set &colorDistance round # we need to make sure this is rounded to a whole number (this might not be needed, need to check)
  set &tmpColor random 1 &colorDistance # WHY THIS??? AH THAT SHOULD BE 
  for $i in 1 to &setSize
    set &&randomColors append &tmpColor
    set &tmpColor increase &colorDistance
  for-end
  set &&randomColors shuffle # this makes colors are not always in same place
  #-- store the RGB of the target ------------------------------------------------------------------------------------
  set &targetR &&reds[&&randomColors[&targetItemNum]]   ## targetItemNum is value between 1 and &setSize
  set &targetG &&greens[&&randomColors[&targetItemNum]]
  set &targetB &&blues[&&randomColors[&targetItemNum]]
  #-- memory display -------------------------------------------------------------------------------------------------
  # to make sure the same sort of colors are not always on same position, we need to further sample those
  # now apply the colors
  set &&xpos clear ## this is just for storing xy positions
  set &&ypos clear ## this is just for storing xy positions
  set &&memDisplayStimuliNumbers clear # clear array that contains stimuli numbers, needed for clearing stimuli later
  draw off # just draw without actually drawing on screen until all items are ready
    if &conditionAC = 0
      text align center
      show text "Memorize color of each image" 0 -290
      set &&memDisplayStimuliNumbers append SHOW_COUNTER
    fi
    set &angleCounter random 1 &colorDistance ## colorDistance is in angles (because color arrays have 360 values)
    set &angleCounter expression &angleCounter * 10 # need to multiple x10 because we work with colors in arrays of 360 values
    for &counter in 1 to &setSize
      set &&xyPos circle 0 0 200 &angleCounter
      set &&xpos append &&xyPos[1] # for later use (to show correct stimulus at end of trial)
      set &&ypos append &&xyPos[2] # for later use (to show correct stimulus at end of trial)
      # save &counter &angleCounter &&xyPos
      show rectangle &&xyPos[1] &&xyPos[2]  147 147 &&reds[&&randomColors[&counter]] &&greens[&&randomColors[&counter]] &&blues[&&randomColors[&counter]] # 2
      set &&memDisplayStimuliNumbers append SHOW_COUNTER
      show bitmap &&myBitmaps[&counter] &&xyPos[1] &&xyPos[2]
      set &&memDisplayStimuliNumbers append SHOW_COUNTER
      set &angleCounter expression &angleCounter + &colorDistance * 10
    for-end
  draw on # now show everything you just added to the stimulus stack
  #-------------------------------------------------------------------------------------------------------------------
  delay &encoding_time ## encoding time is 1s, but during training1 it is 5 seconds
  clear &&memDisplayStimuliNumbers # remove the items after showing. For testing or training, you can still show them
  #-- now show cue in this task if needed
  if &conditionCue = 1
    show rectangle 0 0 &stimulus_width &stimulus_width white
    show bitmap &targetItem
    delay 250
    clear -1 -2
    delay 750
  else
    delay 1000
  fi
  ##-- now show color wheel and test ------------------------------------------------------------------------------------
  set &&memDisplayStimuliNumbers clear ## clear this again for next set of stimuli (for later clearing from screen)
  set &rotationWheel random 0 3590 # rotate (tenths of degrees)
  draw off
    if &conditionAC = 0
      text align center
      show text "Move mouse over colors until" 0 -280
      set &&memDisplayStimuliNumbers append SHOW_COUNTER
      show text "it matches the color you remembered for this object." 0 -250
      set &&memDisplayStimuliNumbers append SHOW_COUNTER
      show text "When you are happy, click the mouse button." 0 -220
      set &&memDisplayStimuliNumbers append SHOW_COUNTER
    fi
  rotate next &rotationWheel
  show bitmap wheel  ## with cue, this is stimulus #14, otherwise #12
  set &stimulusCountWheel SHOW_COUNTER
  show rectangle 0 0 &stimulus_width &stimulus_width black # start with black until people move mouse over color wheel (this is as in official experiment)
  set &stimulusCountRect SHOW_COUNTER
  show bitmap &targetItem
  draw on
  readmouse l &stimulusCountWheel 999999 range &stimulusCountWheel &stimulusCountWheel
  hovercode begin
  if MOUSE_R != 128 or MOUSE_G != 128 or MOUSE_B != 128 # update unless grey
    update rectangle &stimulusCountRect  0 0 &stimulus_width &stimulus_width MOUSE_R MOUSE_G MOUSE_B
    # now make copy of these colors (because sometimes if people click to choose outside colorwheel, these value would contain grey
    set $chosenRed   MOUSE_R
    set $chosenGreen MOUSE_G
    set $chosenBlue  MOUSE_B
  fi
  hovercode end
  if &conditionAC = 0 #only in training, now remove training help text
   clear &&memDisplayStimuliNumbers
  fi
  ##
  ## now we have had the response, and now we need to calculate score and give some feedback
  ##
  ## --- analyse results ------------------------------------------------------------------------------------------------
  ## participant clicked somewhere on color wheel and we know RGB, values. Now we need to find what the angle was exactly
  ## find the angle based on the target's colors (the correct angle) and then after that the users chosen angle
  set &count 1 # this is a temporary counter for later match to the 360 RGB triplets
  set &found 0 # this is just a help variable to check in the while loop if we found the RGB value
  set &targetAngle -1 # set to -1, just to report if not angle was found
  while &found = 0 and &count < 360
    if &targetR = &&reds[&count] and &targetG = &&greens[&count] and &targetB = &&blues[&count]
      set &found 1
      set &targetAngle &count
    fi
    set &count increase
  while-end
  ## find the angle of the chosen colors (based on the RGB values under mouseclick before)
  set &count 1
  set &found 0
  set &chosenAngle -1 # set to -1, just to report if no angle was found
  while &found = 0 && &count < 360
    if $chosenRed = &&reds[&count] and $chosenGreen = &&greens[&count] and $chosenBlue = &&blues[&count]
      set &found 1
      set &chosenAngle &count
    fi
    set &count increase
  while-end
  ## -- scoring ----------------------------------------------------------------------
  set &diffScore1 expression abs ( &targetAngle - &chosenAngle ) ## the difference between the two angles
  set &diffScore2 expression 360 - abs ( &targetAngle - &chosenAngle )
  set &&tmpArray &diffScore1 &diffScore2
  set &diffScore &&tmpArray min ## there are two possible scores, we need of course the smallest of the two; &diffScore is the actual score
  ## -- direct feedback --------------------------------------------------------------
  ## first we show the target item in the original set size (this is not per se necessary, but it is nice feedback) CHECK: IS THIS IN PAPER OR NOT?
  show rectangle &&xpos[&targetItemNum] &&ypos[&targetItemNum] &stimulus_width &stimulus_width &targetR &targetG &targetB
  show bitmap &targetItem &&xpos[&targetItemNum] &&ypos[&targetItemNum] ## show original item at original position
  #
  ## next, we show arrow pointers where you clicked and where you should have clicked the wheel
  #
  ## -- show angle as overlay, this is not in original study ----------------
  if &chosenAngle >= 0 ## it can be less than zero if there was response
    draw off
      # 1. show arrows ("you" and "correct")
      # 2. show dots connecting the two dots
      # --- where you chose to click
      set $tmpAngle1 expression &rotationWheel + &chosenAngle * 10
      if $tmpAngle1 > 3600
        set $tmpAngle1 decrease 3600
      fi
      if $tmpAngle1 < 1800 # depending on angle, the word is shown so it is convenient to read
        rotate next $tmpAngle1
        show bitmap overlayYouRight 0 0
      else
        rotate next $tmpAngle1
        show bitmap overlayYouLeft 0 0
      fi
      # --- where original color was
      set $tmpAngle2 expression &rotationWheel + &targetAngle * 10
      if $tmpAngle2 > 3600
        set $tmpAngle2 decrease 3600
      fi
      if $tmpAngle2 < 1800 # depending on angle, the word is shown so it is convenient to read
        rotate next $tmpAngle2
        show bitmap overlayCorrectRight 0 0
      else
        rotate next $tmpAngle2
        show bitmap overlayCorrectLeft 0 0
      fi
    draw on
    ## --- now connecting dots ------------------------
    part connectAngles ## this is just for nicer display, not in original, requires $tmpAngle1 and $tmpAngle2, which are positions on screen where clicked
  fi
  ## ---------------------------------------------------------------
  ## next we write out the score in bottom right of screen
  if &conditionAC = 0
    show bitmap scoreExplained 650 0
  fi
  if &showScores = 1 # you can set this in "options"
    set %trialCountFeedback "Trial number " &trialCounter " out of " &totalTrialsTodo
    text align left
    show text %trialCountFeedback 550 300 black
    set %yourScore "Your score in this trial = " &diffScore
    text align left
    show text %yourScore 550 330 black
  fi
  text align left
  show rectangle 715 420 350 60 yellow
  show text "Click anywhere to continue" 550 420 black
  ## -- store feedback according to the 4 conditions for later task "feedback" at end of experiment
  if &conditionAC = 1 and &conditionCue = 1
    set &&scoresCoCue append &diffScore
  fi
  if &conditionAC = 1 and &conditionCue = 2
    set &&scoresCoUnc append &diffScore
  fi
  if &conditionAC = 2 and &conditionCue = 1
    set &&scoresAbCue append &diffScore
  fi
  if &conditionAC = 2 and &conditionCue = 2
    set &&scoresAbUnc append &diffScore
  fi
  ## -- keep data for error over moving window --------------------------------------------
  set &&trackPerformance append &diffScore
  set &trackPerformanceN &&trackPerformance size
  if &trackPerformanceN > 4 ## if more than four, remove the oldest (i.e, first)
    set &&trackPerformance remove first
    set &trackPerformanceN &&trackPerformance size
  fi
  ## -- determine set size for next trial if you have at least 4 trials --------------------
  if &trackPerformanceN = 4
    set &averageScoreWindow &&trackPerformance roundmean
    if &averageScoreWindow < 40 and &setSize < 9
      set &setSize increase
      set &&trackPerformance clear
    fi
    if &averageScoreWindow > 40 and &setSize > 2
      set &setSize decrease
      set &&trackPerformance clear
    fi
    set %aws "Average score: " &averageScoreWindow # aws:average window score
  fi
  ## -- report average score if needed, even if fewer than 4 trials
  set &trackPerformanceN &&trackPerformance size
  if &trackPerformanceN > 0 and &trackPerformanceN < 4
    set &tmpAverageScoreWindow &&trackPerformance roundmean
    set %aws "Average score: " &tmpAverageScoreWindow # aws:average window score
  fi
  if &showScores = 1
    text align left
    show text %aws 550 360 blue
  fi
  readmouse l 14 999999 ## there is no time limit for reading the feedback/scores
  ## -- if in training, make memorisation time slightly faster ----------------------------
  if &conditionAC = 0
    if &encoding_time > &encoding_timeNormal
       set &encoding_time decrease 250 # reduce with 250 ms each trial, this would bring you to normal time in 8 trials, and there are 10 training trials
       if &encoding_time < &encoding_timeNormal
          set &encoding_time &encoding_timeNormal
       fi
    fi
  fi
  ## -- end of task and save for datafile -------------------------------------------------
  clear screen
  save BLOCKNUMBER &setSize &conditionAC &conditionCue &rotationWheel &targetAngle &chosenAngle &diffScore RT &targetR &targetG &targetB $chosenRed $chosenGreen $chosenBlue

#------------------------------------------------------------------------------------------
# for feedback block we make fancy feedback screen
# we only call this one time at end of experiment

task showfeedback
  ## -- calculate scores -------------------------------
  set &concreteCuedAvgScore    &&scoresCoCue roundmean
  set &concreteUncuedAvgScore  &&scoresCoUnc roundmean
  set &abstractCuedAvgScore    &&scoresAbCue roundmean
  set &abstractUncuedAvgScore  &&scoresAbUnc roundmean
  ## -- render the scores to an SVG file ---------------
  svg create myFeedback from feedback
  svg replace "CO_CUE" &concreteCuedAvgScore
  svg replace "CO_UNC" &concreteUncuedAvgScore
  svg replace "AB_CUE" &abstractCuedAvgScore
  svg replace "AB_UNC" &abstractUncuedAvgScore
  svg render
  delay 100
  show bitmap myFeedback
  readmouse l 1 9999999

#------------------------------------------------------------------------------------------

block screensize
  message instructionFullScreen mouse

block trainingBlock
  set &&trackPerformance clear # keeps data of moving window of 4 trials
  set &encoding_time &encoding_timeTraining
  set &setSize 3 # this is the starting setsize for training
  message instructionTraining mouse
  set &conditionAC 0  # 0: training
  set &conditionCue 1 # 1: is cue, 2: no cue, we train with cue first
  task retrocue 10

block concreteCued
  # set &trialCounter 0 # after training, you can possibly set this back to 0
  set &encoding_time &encoding_timeNormal
  set &setSize 5 # this is the starting setsize
  message instructionConcreteCued mouse
  set &conditionAC 1  # 1: concrete, 2: abstract
  set &conditionCue 1 # 1: is cue, 2: no cue
  task retrocue 40

block concreteUncued
  set &encoding_time &encoding_timeNormal
  set &setSize 5 # this is the starting setsize
  message instructionConcreteUncued mouse
  set &conditionAC 1  # 1: concrete, 2: abstract
  set &conditionCue 2 # 1: is cue, 2: no cue
  task retrocue 40

block abstractCued
  set &encoding_time &encoding_timeNormal
  set &setSize 5 # this is the starting setsize
  message instructionAbstractCued mouse
  set &conditionAC 2  # 1: concrete, 2: abstract
  set &conditionCue 1 # 1: is cue, 2: no cue
  task retrocue 40

block abstractUncued
  set &encoding_time &encoding_timeNormal
  set &setSize 5 # this is the starting setsize
  message instructionAbstractUncued mouse
  set &conditionAC 2  # 1: concrete, 2: abstract
  set &conditionCue 2 # 1: is cue, 2: no cue
  task retrocue 40

block feedback
  task showfeedback 1

Download

If you have a PsyToolkit account, you can upload the zipfile directly to your PsyToolkit account.

If you want to upload the zipfile into your PsyToolkit account, make sure the file is not automatically uncompressed (some browsers, especially Mac Safari, by default uncompress zip files). Read here how to easily deal with this.

Further reading

  • Loaiza, V. M., Cheung, H. W., & Goldenhaus-Manning, D. T. (2024). What you don’t know can’t hurt you: Retro-cues benefit working memory regardless of prior knowledge in long-term memory. Psychonomic Bulletin & Review, 31(3), 1-12. Open access