•The key difference is that the restricted code is context dependent – it assumes the listener knows what you are talking about, whereas the elaborated code “spells it out”.•There is nothing wrong with the restricted code – most of us use it is everyday speech – but the elaborated code is the language needed to do well in school and exams.