public static function last($value)
    {

        if (is_array($value) && $value) {
            return end($value);
        }

        if (!$value) {
            return null;
        }

        if (is_string($value)) {
            return mb_substr($value, -1);
        }

        if (!is_object($value)) {
            return null;
        }

        if (!$value instanceof Traversable) {
            return null;
        }

        $item = null;

        foreach ($value as $key=>$item) {
        }

        return $item;

    }