it seems so.. different synonyms with similar "content" are substituted / matched without errors:

data D = S String | I Int deriving (Eq,Ord)
type A = D
type B = D

compiler "won't mind" if
Set A
is replaced with 
Set B