def Abs(item):
    if isinstance(item, int) or isinstance(item, float):
        return abs(item)
    if isinstance(item, str):
        return abs_str(item)
    if isinstance(item, Expression):
        item = item.run()
    if isinstance(item, String):
        return String(abs_str(str(item)))
    if hasattr(item, "__iter__"):
        if isinstance(item[0], Expression):
            item = iter_apply(item, lambda o: o.run())
        return iter_apply(item, Abs)