step 4: types and the rest
step 3: symbols