def transform_OuterMap(self, expr):
    closure = self.transform_fn(expr.fn)
    new_args = self.transform_args (expr.args, flat = True)
    arg_types = get_types(new_args)
    n_args = len(arg_types)
    assert n_args > 0
    axis = self.transform_if_expr(expr.axis)
    axes = self.normalize_axes(new_args, axis)
    result_type, typed_fn = specialize_OuterMap(closure.type, arg_types, axes)
    result = syntax.OuterMap(fn = make_typed_closure(closure, typed_fn),
                             args = new_args,
                             axis = axis,
                             type = result_type)
    return result
dataset/ETHPy150Open iskandr/parakeet/parakeet/type_inference/type_inference.py/TypeInference.transform_OuterMap/original