# File lib/facet/lisp-format.rb, line 454
        def value(state, default)
          begin
            arg = state.next_arg
          rescue => e
            e.pos = @pos if e.respond_to?(:pos) and e.pos == -1
            raise
          end
          if arg.nil?
            default
          elsif arg.respond_to? :to_i
            arg.to_i
          else
            raise ArgumentError.new(@pos),
              'argument not a number or a number string'
          end
        end