allocate_memory();
scope(failure) free_memory();
setup_interrupts();
scope(failure) teardown_interrupts();
setup_registers();
The scope keyword is for saying that if you get to this point, then do such and such at end of scope. scope(failure)/scope(success)/scope(exit), for exitting scope by exception/return/either. Is kind of nice.
I wonder if this is true. I'd like to think that, if you're doing a game console, you don't necessarily have to match Apple at "ownership experience". Like, you can maybe make up for that by putting, say, buttons, on your console. Or Pokeymans.