title: Pydrake; TypeError in AdvanceTo() arguments
body: <p>I tried to simulate a diagram and it works for most of the time.</p>
  <pre><code>builder = DiagramBuilder()
  ...
  diagram = builder.Build()
  simulator = Simulator(diagram)
  try:
    simulator.Initialize()
    simulator.AdvanceTo(float(1.5))
  except RuntimeError:
    pass
  </code></pre>
  <p>Until at some point, the drake simulation will terminate at 0.2000000s and return a TypeError.</p>
  <pre><code>    simulator.AdvanceTo(float(1.5))
  TypeError: AdvanceTo(): incompatible function arguments. The following argument types are supported:
      1. (self: pydrake.systems.analysis.Simulator_[float], boundary_time: float) -&gt; pydrake.systems.analysis.SimulatorStatus
  
  Invoked with: &lt;pydrake.systems.analysis.Simulator_[float] object at 0x7f59bbf169f0&gt;, 1.5
  </code></pre>
  <p>I haven't seen this one before. I have tried many parameters but all simulations stop at 0.200000 second.</p>
  <p>Am I missing anything, or what method should I try to debug?</p>
  <h1>*Edit</h1>
  <p>I figured out why the <code>Simulator</code> is unhappy with my setup. The parameter is correctly passed to <code>Simulator</code> but there is something wrong with one <code>LeafSystem</code> in my diagram.</p>
  <p>In my diagram, there are discrete ports connected to each other. When a value is passed to a discrete <code>LeafSystem</code>, the system needs to call a function to update values (<code>set_value()</code> ) and return those values by a pointer. However, the function do need to return a <em>status</em> by which indicate the diagram the value update has been done. Therefore, <code>EventStatus.Succeeded()</code> is required to be returned if the update is successful.</p>
  <p>Nevertheless, I have no idea why lack of status return will result into a TypeError. I'm to be honest, fairly new to drake so I might have a bad explanation. Willing to receive any professional comments.</p>