Do NOT use this in production. This was never meant to be much more than an experiment.
trylock uses unsafe, which is sorta "unsafe", but should work until
sync.Mutex will change its layout (I hope it never will).
The original author of trylock is by LK4D4.
type LockedStruct struct {
trylock.Mutex
}
storage := &LockedStruct{}
if storage.TryLock() {
// do something with storage
} else {
// return busy or use some logic for unavailable storage
}