what is the purpose of defining new types in go:

```
type NewType OldType

```

since NewType have only methods declarations, so:

```
var x NewType

```

can store also OldType 'objects'. Are there any advantages?