Previous theoretical work identifies lists of functions (see e.g., Abdul-Zahra (2010)), and recent work in NLP picks specific functions and aims to identify them in large collections of CS texts (Begum et al., 2016;.
such studies use different levels of analysis, and often confuse observations (such as observing code-switched reiteration or translation) with CS functions (reiteration is often used for emphasis), as in the following example from Begum et al.