def without(*args)
      args = args.flatten
      option(*args) do |options|
        options.store(
          :fields, args.inject(options[:fields] || {}){ |sub, field| sub.tap { sub[field] = 0 }}
        )
      end
    end
def without(*args)
      args = args.flatten
      option(*args) do |options|
        options.store(
          :fields, args.inject(options[:fields] || {}){ |sub, field| sub.tap { sub[field] = 0 }}
        )
      end
    end
Limits the results to only contain the fields not provided.

 @example Limit the results to the fields not provided.
   optional.without(:name, :dob)

 @param [ Array<Symbol> ] args The fields to ignore.

 @return [ Optional ] The cloned optional.

 @since 1.0.0