def output_type(self):
    arg = self.arg
    default = self.default
    map_type = arg.type()
    value_type = map_type.value_type
    default_type = default.type()
    if ((default is not None) and (not dt.same_kind(default_type, value_type))):
        raise com.IbisTypeError("Default value\n{}\nof type {} cannot be cast to map's value type {}".format(default, default_type, value_type))
    result_type = dt.highest_precedence((default_type, value_type))
    return rlz.shape_like(tuple(self.args), result_type)
def output_type(self):
    arg = self.arg
    default = self.default
    map_type = arg.type()
    value_type = map_type.value_type
    default_type = default.type()
    if ((default is not None) and (not dt.same_kind(default_type, value_type))):
        raise com.IbisTypeError("Default value\n{}\nof type {} cannot be cast to map's value type {}".format(default, default_type, value_type))
    result_type = dt.highest_precedence((default_type, value_type))
    return rlz.shape_like(tuple(self.args), result_type)