title: Robot Framework: How to know that variable is list, dictionary or regular
body: <p>I need to process several types of data from one Keyword - which will call another necessary Keyword according to the defined data type.</p>
  
  <p>Using <code>Evaluate type()</code> is good for Lists and Dictionaries but fails when we have just a string without quotes. If I add quotes - the data will be defined as string all times - even if it is in a List or Dictionary.</p>
  
  <p>For example</p>
  
  <pre><code>${list}=    Create List    1    two
  ${type_list}=    Evaluate    type(${list})
  # returns &lt;type 'list'&gt;
  
  ${dict}=    Create Dictionary  first=1  second=two
  ${type_dict}=  Evaluate  type(${dict})
  # returns &lt;type 'dict'&gt;
  
  ${string}=  Set Variable  withoutQuotes
  ${type_string}=  Evaluate  type(${string})
  # FAILS with:
  Evaluating expression 'type(withoutQuotes)' failed: NameError: name 'withoutQuotes' is not defined
  </code></pre>
  
  <p>Could you please recommend some way to define a type of a variable which won't fail?</p>