Another matter to mention is that we can have tips to functions this is an superior topic so we'll stay at it just briefly.
A semantic mistake can be substantially worse -- it's a rational error in the system the system will compile and operate but the system will behave differently than supposed. This is opposed to static memory allocation, i.e.