&gt; Sometimes it’s better to be explicit than abstract.<p>This is a false dichotomy: after all, &quot;open&quot; is explicit and abstract (w.r.t. actual file systems).<p>The original article from Metz was interesting, but the example here is disappointing. The code was apparently used only once: why generalize?<p>And if you want to generalize, why not make use of two functions: a new one which implements &quot;touch&quot;, and the existing os.Chmod?