def reflect(walker, particle, sim):
    """
    Reflect a `Walker` upon collision
    """
    if walker.position+walker.direction == particle.position:
        def action(sim) : walker.direction *= -1
        return [action]
    return []