I read in an Egyptian reference that if we want to differentiate between zero and first conditionals we generalize the facts or define them like in these examples:
Hi, Ceedhanna: I agree with Gustavo's answer, particularly with his point that the "generalized" (a) sentences may be suitably expressed with either the zero conditional or the first conditional.
I think that a better way to differentiate the two, for a learner who is trying to decide between them, is to try to express the conditional using "whenever" instead of "if." If "whenever" works, so will the zero conditional:
1d- Whenever an ice cube is heated, it turns into water.
1e- *Whenever this ice cube is heated, it turns into water.
3d- Whenever it rains, streets get wet.
3e- Whenever it rains, the streets of our town get wet.
Notice that (3e) works. Thus, (3b) could be changed to a zero conditional: "If it rains, the streets of our town get wet." Incidentally, for the sake of naturalness, I changed "a cube of ice" to "an ice cube" and "become wet" to "get wet."