title: Avoid pattern matching (errors) until a slot is set correctly
body: <p>The LHS of a rule <code>R_blup</code> contains</p>
  
  <pre><code>(test (&gt;= ?s2 2))
  </code></pre>
  
  <p>that is, it checks if <code>?s2</code> is greater or equal to 2. <code>?s2</code> corresponds to an instance slot named <code>s2</code>.</p>
  
  <p>Unfortunately, I get the error</p>
  
  <p><code>Function &gt;= expected argument #1 to be of type integer or float</code></p>
  
  <p>The problem is that my code executes the <code>(test ...</code> before I can set argument #1, i.e. before I can set <code>s2</code> to an integer or float value. <code>s2</code> is supposed to be set to an integer inside a python-call that is triggered by another rule <code>R_blah</code>.</p>
  
  <p>The error is triggered in the middle of another python-call belonging to another rule <code>R_xyz</code>. This python-call modifies an instance via <code>clips_instance.Slots["slot_name"] = some_value</code>.</p>
  
  <p>How is this normally handled? I see three solutions I don't like too much:</p>
  
  <ol>
  <li>Setting a default (integer) value for <code>s2</code>.</li>
  <li>Modifying the <code>(test ...</code> to check against <code>nil</code> first.</li>
  <li>Adding another check/rule to wait until <code>s2</code> is not <code>nil</code> any more</li>
  </ol>
  
  <p>Is it maybe possible to try/except/pass the error?</p>