# Functions
NewLocalLock creates a new LocalLock.
NewMiddleware returns a new lock middle ware using a provided lock implementation.
# Variables
ErrLockExists is returned from Lock() when the lock is already taken.
ErrNoLockExists is returned from Unlock() when the lock does not exist.
# Interfaces
Lock is a locker of IDs.