Typed Storage is half-way house
The west coast designed Burroughs machines were vN with the addition of typing on each 48 bit word. I can't remember (or be arsed to check) the number of bits but the firmware knew if the word contained an instruction, a number (all or part of an integer or float), characters or a pointer. If you tried to perform the wrong operation you got a fault. Storage was allocated in segments with defined sizes and by the hardware so buffer overflow generated a similar fault. The systems programming language was a modified Algol. But of course all of this was 30 years ago and we all know how well we have moved on to far better designs now, both in hardware and software. How else could we keep the CompSci grads employed? A B6700 running MCP needed a guy once a month to sweep out the ashes.
PS. The other Burroughs designs of the time were classical vN with some other odd characteristics. They were decimal machines (banking was a big part of Burroughs business), so decimal that even the execution engine used decimal addresses, and you bought memory in round decimal amounts, 100,000 bytes for example. Odd.
PPS. Finally, the other design was for the 1700 series, even odder as it was opcode agile, part of the program header declared what instruction set this prog needed and the hardware setup to use that set while executing the prog, switching between firmware if necessary for multiple tasks. The opcode sets were optimized for the languages of the day, Fortran, COBOL, ...
The microcode engines of the day were probably a bit too touchy (lots of timing involved as in, you can't read that register for two cycles so do something else now) to compile Fortran or Cobol directly to the microcode but okay if you are decodeing an instruction set.