A small pedantic point: a heterograph is one of two different sequences of letters, not whole words, having the same sound with different spellings (e.g. "ale" and "ail" in "male" and "fail"). When this happens with whole words they are called homophones (e.g. "male and "mail").