<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def append(self, other):
 """ Append an SArray to the current SArray. Creates a new SArray with the rows from both SArrays. Both SArrays must be of the same type. Parameters other : SArray Another SArray whose rows are appended to current SArray. Returns ------- out : SArray A new SArray that contains rows from both SArrays, with rows from the ``other`` SArray coming after all rows from the current SArray. See Also -------- SFrame.append Examples -------- dtype: int Rows: 6 [1, 2, 3, 4, 5, 6] """

        if type(other) is not SArray:
            raise RuntimeError("SArray append can only work with SArray")

        if self.dtype != other.dtype:
            raise RuntimeError("Data types in both SArrays have to be the same")

        with cython_context():
            return SArray(_proxy = self.__proxy__.append(other.__proxy__))