Below is typed scheme/path,<br>The typed version of normalize-path doesn&#39;t allow an optional argument.<br><br>; path.ss<br>; LGPL licensed<br><br>#lang typed-scheme<br><br>(define-type-alias Path/str (U Path String))<br>
(define-type-alias Path-string String)<br><br>(require/typed scheme/path<br>               [explode-path (Path/str -&gt; (Listof (U Path &#39;up &#39;same)))]<br>               [find-relative-path (Path/str Path/str -&gt; Path)]<br>
               [simple-form-path (Path-string -&gt; Path)]<br>               [normalize-path (Path-string -&gt; Path)]  ; doesn&#39;t allow an optional argument<br>               [filename-extension (Path/str -&gt; (Option Bytes))]<br>
               [file-name-from-path (Path/str -&gt; (Option Path))]<br>               [path-only (Path/str -&gt; Path)]<br>               [some-system-path-&gt;string (Path -&gt; String)]<br>               [string-&gt;some-system-path (String (U &#39;unix &#39;windows) -&gt; Path)])<br>
<br>(provide find-relative-path<br>         explode-path<br>         simple-form-path<br>         normalize-path<br>         filename-extension<br>         file-name-from-path<br>         path-only<br>         some-system-path-&gt;string<br>
         string-&gt;some-system-path)<br>