Which type of compound usually has higher melting points: ionic compounds or covalent compounds? What is the reason for this difference in melting points?