This question follows from this one I made earlier.
If you ask for FullForm[4] you will get back 4, and that's fine. 4 is supposed to be an atomic object. And if you do AtomQ[4], you will get back True, confirming that 4 is an atom.
But there's a problem. If you do Head[4], you get Integer. And this doesn't make sense. The whole meaning of the word atomic is "Unable to be split or made any smaller".
And yet apparently we can split a head off of an unsplittable thing.
Why is this? I don't mean teleologically--obviously its useful to be able to test whether a thing is an integer or a real or whatever. But why or how is this consistent inside the Wolfram Language?
52[[All]]– Michael E2 Jul 16 '19 at 03:31