code: func computeMutexPaths(env subcommands.Env) (lockFilePath string, drainFilePath string, err error) {
  	envVar := env[LockFileEnvVariable]
  	if !envVar.Exists {
  		return "", "", nil
  	}
  
  	lockFileDir := envVar.Value
  	if !filepath.IsAbs(lockFileDir) {
  		return "", "", errors.Reason("Lock file directory %s must be an absolute path", lockFileDir).Err()
  	}
  
  	if _, err := os.Stat(lockFileDir); os.IsNotExist(err) {
  		fmt.Printf("Lock file directory %s does not exist, mmutex acting as a passthrough.\n", lockFileDir)
  		return "", "", nil
  	}
  
  	return filepath.Join(lockFileDir, LockFileName), filepath.Join(lockFileDir, DrainFileName), nil
  }
docs: // computeMutexPaths returns the lock and drain file paths based on the environment,
  // or empty strings if no lock files should be used.