Because :a and :b are not considered to be of type atom() but respectively as type :a and :b.
:a
:b
atom()