GA /l/ has three major allophones: one is called clear l, the other two are traditionally both referred to as dark l.
For clear l, the tip of the tongue articulates with the alveolar ridge and the sides of the tongue with the upper side teeth, allowing the air to pass freely along one or both sides of the back of the tongue. The primary articulation is therefore a lateral alveolar contact.
The traditional term dark l is used to refer to what are in fact — in spite of their auditory similarity — two distinct sounds from an articulatory point of view. These are velarized [l] and vocalized [l]. What they have in common is that in both cases the back of the tongue is raised toward the soft palate, creating a dark [u]-type resonance. The difference is in what the tongue tip does: it may articulate with the alveolar ridge at the same time, allowing the air to escape freely along one or both sides of the front of the tongue, as in killing. This allophone represented as [ɫ]. If it does not articulate with the alveolar ridge, as may occur in words like kill, milk, filled, where /l/ is in a coda and unisyllabic /l/ is in effect realized as a half- close back vowel: the primary articulation is lost and /l/ is vocalized. A raised [ɫ] is used to represent this allophone. The terms ‘velarized’ or ‘dark’ /l/ refer both to the vocalized and the nonvocalized variety, provided it has back vowel resonance: A vocalized /l/, then, is a dark /l/ which has lost its primary articulation and is phonetically a vowel. (Note that clear [l], which occurs in unisyllabic onsets, is never vocalized, i.e. always has an alveolar or dental contact.)
Advice for Dutch learners:
Dutch /l/ is generally rather dark in all contexts. However, speakers from the East of the Netherlands tend to pronounce a strongly palatalized /l/, whose quality differs considerably from the velarized /l/ used in GA. One way to arrive at a velarized /l/ is to pronounce [l] and [ʊ] at the same time, holding the tongue rather tense. Note that the duration of final /l/, i.e. its vocalized realization, varies depending on the phonological context, as can be seen in the words tell, tells, build, where it is long — certainly by Dutch standards — and else, built, help, where it is short. l-vocalization is increasingly common in Dutch, especially in Western urban speech. An example containing two vocalized /l/-sounds would be a phrase like heel veel [hɛˑo fɛˑo].