In Go, they are not. Aliases establish precise equivalence between types, type redefinitions establish new types altogether.