[racket] Why implement modules as signatures and units, if there's only 1 unit?
Something I've been meaning to ask for awhile.
In e.g. `net' I notice many modules done as 3 files. For instance:
pop3-sig.rkt
pop3-unit.rkt
pop3.rkt
Similar trios for base64, cgi, cookie, dns, ftp, head, imap, mime,
nntp, qp, sendmail, smtp, uri-codec, url.
Why?
I thought the motivation for a signature (interface) is to let you
runtime select among 2 or more units (implementations).
But all of these have only the one unit. In which case, seems it would
be simpler to do these as plain modules, in 1 file each?