def method_missing(msg, *)
      caller_label = caller_locations(1,1)[0].label
      @bindings[caller_label] ||= PatternMatching::Bindings.new
      @bindings[caller_label].send(msg)
    end
def method_missing(msg, *)
      caller_label = caller_locations(1,1)[0].label
      @bindings[caller_label] ||= PatternMatching::Bindings.new
      @bindings[caller_label].send(msg)
    end
Based on the caller's method name (obviously not an universally-optimal choice),
 cache a Bindings object and forward all messages there.