Some 3 is printed as Some 3, but Some () is printed as !Some.
I'm guessing that there's some logic to pretty-print unit being applied to a thunk (a function) that is also being applied to type constructors.
> Some 3
> Some ()
You can also see this applied to custom type constructors.
structural type Wrapper a = Wrapper a
.> add
> Wrapper 3
> Wrapper ()