That are accurate but manageable; correct enough that you can use them to predict program state, debug your projects, and accurately translate between diagrams & code. But not so precise that you get lost in low-level implementation. An important feature of a notional machine is that they are not built on overly-familiar analogies. It should build new intuitions based on how teh programming language actually work, instead of building on old intuitions from elsewhere in life that sort-of work like the programming language.