One reason why English is so hard to learn to read

English has many:
homophones: two or more words having the same pronunciation but different meanings, origins, or spelling such as to, two & too,
homonyms:  two or more words having the same spelling or pronunciation, but different meanings and origins such as dog’s bark vs. tree bark,
homographs: two or more words spelled the same but not necessarily pronounced the same and having different meanings and origins such as tell a lie vs. lie down, and
heteronyms: two or more words that are spelled identically but have different sounds and meanings such as ship’s bow, vs. archery bow
that make English spelling and pronunciation so confusing and challenging for children to learn.