`Integer` is not a function. 

Consider this

    a = f[b]
    Head@a

>f

Now, if the `Head` of `a` is `f`, does it mean that `a` is the same as `f[a]`? clearly not. So, why you expect 56 to be the same as Integer[56] given that `Integer` is not a function?