mu.Lock(); fmt.Print(someoneElsesObject);mu.Unlock();return
You need to get into the habit of writing:
mu.Lock(); defer mu.Unlock(); fmt.Print(someoneElsesObject);return
And this gets extra complicated by the fact that in Go defer runs at end of function, not end of scope. This makes every single for-loop that needs to lock anything hard to read and annoying to write.
for _, a := range stuff { if err:=func()error { mu.Lock();defer mu.Unlock(); return a.stuff()}(); err != nil {return err}}