@typecheck_method(agg_op=str, constructor_args=sequenceof(IR), init_op_args=nullable(sequenceof(IR)), seq_op_args=sequenceof(IR))
def __init__(self, agg_op, constructor_args, init_op_args, seq_op_args):
    init_op_children = ([] if (init_op_args is None) else init_op_args)
    super().__init__(*constructor_args, *init_op_children, *seq_op_args)
    self.agg_op = agg_op
    self.constructor_args = constructor_args
    self.init_op_args = init_op_args
    self.seq_op_args = seq_op_args
@typecheck_method(agg_op=str, constructor_args=sequenceof(IR), init_op_args=nullable(sequenceof(IR)), seq_op_args=sequenceof(IR))
def __init__(self, agg_op, constructor_args, init_op_args, seq_op_args):
    init_op_children = ([] if (init_op_args is None) else init_op_args)
    super().__init__(*constructor_args, *init_op_children, *seq_op_args)
    self.agg_op = agg_op
    self.constructor_args = constructor_args
    self.init_op_args = init_op_args
    self.seq_op_args = seq_op_args