Quando você incorpora o mutex no struct no Go?

NOTA: Achei que a palavra 'incorporar' no título foi uma má escolha, mas vou mantê-la.

Vejo muito código assim:

type A struct {
    mu sync.Mutex
    ...
}

E use-o assim:

a := &A{}

a.mu.Lock()
defer a.mu.Unlock()

a.Something()

É melhor que o mutex local ou global?

a := &A{}

var mu sync.Mutex
mu.Lock()
defer mu.Unlock()

a.Something()

Quando devo usar o antigo ou mais tarde?