FullSimplify doesn't work as expected?

I tried with the following code snippet:

up[\[Theta]_, \[CurlyPhi]] = {Cos[\[Theta]/2], 
   E^(I*\[CurlyPhi])*Sin[\[Theta]/2]};
dn[\[Theta]_, \[CurlyPhi]] = {-E^(-I*\[CurlyPhi])*Sin[\[Theta]/2], 
   Cos[\[Theta]/2]};
 A = {up[\[Theta], \[CurlyPhi]], dn[\[Theta], \[CurlyPhi]]};
FullSimplify[ComplexExpand[ConjugateTranspose[A] . A ]] == 
 IdentityMatrix[2]
ConjugateTranspose[A] . A // ComplexExpand // 
 FullSimplify == IdentityMatrix[2]

The result is as follows:

Why doesn’t the last command work?

Regards,
Hongyi

Try:

 (ConjugateTranspose[A] . A // ComplexExpand // FullSimplify) == IdentityMatrix[2]

But I don’t want to type the () each time. It seems that the only shortcut is like this:

IdentityMatrix[2] == ConjugateTranspose[A] . A // 
  ComplexExpand // FullSimplify

Infix operator precedence matters. That’s the real reason parentheses were invented (little-known fact).

But it’s also cumbersome for practical use.