       if /^--$/.test(arg)
         optend = true
       else if /^-$/.test(arg)
-        noopt = true
+        noopt = true # XXX prevents `-' from creating an empty option object
+        # when found on the command-line: e.g. `cat -'
+        # NOTE that `-' traditionally means READ FROM STDIN
+        # however, in the case of an option parser...
+        # well, I think that it's meaningless.
+        # we should never read from STDIN, as
+        # an option parser has no business doing so.
+        # although being able to echo options like so would be interesting:
+        # `echo -- '-vhx' | <PROGRAM USING BEBOPT>` lulz
       else
         if noopt
           null # do nothing

    @_log(@)
    @_opts.forEach((elem, ind) =>
      dashes = elem.arg.replace(/^(--?).*/, '$1').length # number of dashes
      if dashes is 2
        elem = @_catchSpaceDelimArgs(elem, @_long)
      # check option types
      if dashes is 1 and elem.arg.length < 2 # short
        elem = @_optTypeError(elem, @_short)

    )

      return self))

  _optError: (parent, child) =>
    console.log parent
    if parent[child.arg] is undefined
      if child.length < 2
        console.error("#{@app}: invalid option -- '#{child.arg}'")
        process.exit(1)
      else
        console.error("#{@app}: unrecognized option '--#{child.arg}'")
        process.exit(1)

  _parentError: () =>
