def on_or(node)
      a, b = node.children.map { |c| @truth.fetch(c, process(c)) }

      if a == :true || b == :true
        :true
      elsif a == :false && b == :false
        :false
      else
        nil
      end
    end
def on_or(node)
      a, b = node.children.map { |c| @truth.fetch(c, process(c)) }

      if a == :true || b == :true
        :true
      elsif a == :false && b == :false
        :false
      else
        nil
      end
    end
Handle the `||` statement.

 node - the node to evaluate.

 Returns :true if either side is known to be true, :false if both sides are
 known to be false, and nil otherwise.