My attempt to create docopt.rkt (largely by porting docopt.clj)