Remember, FOIL is an acronym that tells you how to multiply one parenthetical expression by another. It stands for "First, Outside, Inside, Last," which is the order in which you multiply and then add the elements in your expression. The confusing part is that "First" and "Last" refer to an element's position within it's parenthetical expression, while "Outside" and "Inside" refer to an element's position within the whole expression. This means each element is called two things: 1) Either "First" or "Last" and 2) Either "Outside" or "Inside."
Using the example from above, I've labeled each element with two labels: F for First, O for Outside, I for Inside and L for Last. I've made one x orange and the other green, to help you keep track of which one I'm talking about, but the orange x and the green x are still the same variable.
FO LI FI LO
( x + 2) * (x + 3)
Step 1: Multiply the First element from each parenthetical expression by the other --> x * x = x2
Step 2: Multiply the Outside elements of the overall expression by each other --> x * 3 = 3x
Step 3: Multiply the Inside elements of the overall expression by each other --> 2 * x = 2x
Step 4: Multiply the Last element of each parenthetical expression by the other : 2 * 3 = 6
Step 5: Add them all together --> x2 + 3x + 2x + 6
Step 6: Simplify --> x2 + 5x + 6