you're essentially replacing
f := open(name, ...)
...
close(f)
which runs as a sequential process, and subject to the usual rules for
sequential
composition, by
f := open(name, ...)
...
spawn clunk(f)
which introduces a race with an invisible anonymous process with no means of
synchronisation.
what could possibly go wrong with that?
(actually, it's more complex than spawning a new process, but the added
complexity of a set of service processes changes the details but not the
existence of the race, and doesn't affect the anonymity.)
the change isn't sufficent to solve the efficiency (latency) problems addressed
by Op,
neither is it sufficient for big performance improvements if you're dealing
with something you can cache,
nor is it a necessary solution (at least in the form above) for the deadlock
problems.