@typecheck_method(ordered_collection=IR, elem=IR, on_key=bool)
def __init__(self, ordered_collection, elem, on_key):
    super().__init__(ordered_collection, elem)
    self.ordered_collection = ordered_collection
    self.elem = elem
    self.on_key = on_key
@typecheck_method(ordered_collection=IR, elem=IR, on_key=bool)
def __init__(self, ordered_collection, elem, on_key):
    super().__init__(ordered_collection, elem)
    self.ordered_collection = ordered_collection
    self.elem = elem
    self.on_key = on_key