# File lib/ruote/util/misc.rb, line 206
  def self.insp(o, opts={})

    case o
      when nil
        'nil'
      when Hash
        trim = opts[:trim] || []
        '{' +
        o.reject { |k, v|
          v.nil? && trim.include?(k.to_s)
        }.collect { |k, v|
          "#{k}: #{insp(v)}"
        }.join(', ') +
        '}'
      when Array
        '[' + o.collect { |e| insp(e) }.join(', ') + ']'
      when String
        o.match(/\s/) ? o.inspect : o
      else
        o.inspect
    end
  end