Completely opposite of the point of the OP, but since I am playing with it I thought I would throw it out there:
One master spell list. Screw class lists. Anyone caster can cast anything.
BUT...
To cast a spell you must make a successful spellcasting check. The DC equals 8 + twice the spell level you are casting at. Casting spells higher than your maximum spell level is with disadvantage. Failure means you take psychic damage equal to the spell level and cannot cast again until you finish a short rest.
Want to cast fireball as a 1st level ranger? Go ahead! You probably have a spellcasting modifier of +4 against a DC 14, and check with disadvantage. Fail, and you take 3 psychic damage and can't case another spell until you rest. Succeed, and BOOM!!!
"That works for
me - solved it, done!

" LOL!