Trying to put hard rules on how English works is like trying to scoop up water with a sieve.
English is as inconsistent a language as we've ever seen with how it handles just about everything; almost any rule you make is going to have countless exceptions.
It's a Germanic substrate, covered up almost entirely by layers of Norman French, Latin, then non-Norman French, and a thin layer of Spanish, with chunks of Greek dispersed throughout, and a sprinkling of Japanese on top.