Storage collision non-upgradable child and upgr. parent

Hi, I am wondering if there is any implication in using Initializable contarct with erc7201 storage layout as parent for child contract which is not proxy. Why am I asking is because I have situation where I would like to re-use same logic in my parent contract but for child which is upgradable and child which is not upgradable. Basically for upgradable inheretance chain I would use init methods of each parent contract but for non-upgradable inheratance chain I would use constructors. Maybe not common pattern but I do not want duplicate code in parents. What worries me is is there a chance for collision of storage if I use in my parent erc7201 storage layout and my non-upgradable child starts to define storage in classic (non erc7201) way. Is it possible the 2 collide? How safe it is ?

Thx in advance

Solidity has a tree-shaped storage layout, the slots start at 0 and grow in sequence, and ERC7201 uses the namespaced storage layout.
As for storage collisions, I think it is ok as long as you use it correctly, and you can write a simple test case to test the your contracts.