def __call__(self, *item):
    "Native API 2.0 MMatrix does not support indexing\n\n        API 1.0 however *does*, except only for elements\n        and not rows. Screw both of those, indexing isn't hard.\n\n        Arguments:\n            item (int, tuple): 1 integer for row, 2 for element\n\n        Identity/default matrix:\n            [[1.0, 0.0, 0.0, 0.0]]\n            [[0.0, 1.0, 0.0, 0.0]]\n            [[0.0, 0.0, 1.0, 0.0]]\n            [[0.0, 0.0, 0.0, 1.0]]\n\n        Example:\n            >>> m = MatrixType()\n            >>> m(0, 0)\n            1.0\n            >>> m(0, 1)\n            0.0\n            >>> m(1, 1)\n            1.0\n            >>> m(2, 1)\n            0.0\n            >>> m(3, 3)\n            1.0\n            >>>\n            >>> m(0)\n            (1.0, 0.0, 0.0, 0.0)\n\n        "
    if (len(item) == 1):
        return self.row(*item)
    elif (len(item) == 2):
        return self.element(*item)
    else:
        raise ValueError('Must provide either 1 or 2 coordinates, for row and element respectively')
Native API 2.0 MMatrix does not support indexing

API 1.0 however *does*, except only for elements
and not rows. Screw both of those, indexing isn't hard.

Arguments:
    item (int, tuple): 1 integer for row, 2 for element

Identity/default matrix:
    [[1.0, 0.0, 0.0, 0.0]]
    [[0.0, 1.0, 0.0, 0.0]]
    [[0.0, 0.0, 1.0, 0.0]]
    [[0.0, 0.0, 0.0, 1.0]]

Example:
    >>> m = MatrixType()
    >>> m(0, 0)
    1.0
    >>> m(0, 1)
    0.0
    >>> m(1, 1)
    1.0
    >>> m(2, 1)
    0.0
    >>> m(3, 3)
    1.0
    >>>
    >>> m(0)
    (1.0, 0.0, 0.0, 0.0)
def __call__(self, *item):
    "Native API 2.0 MMatrix does not support indexing\n\n        API 1.0 however *does*, except only for elements\n        and not rows. Screw both of those, indexing isn't hard.\n\n        Arguments:\n            item (int, tuple): 1 integer for row, 2 for element\n\n        Identity/default matrix:\n            [[1.0, 0.0, 0.0, 0.0]]\n            [[0.0, 1.0, 0.0, 0.0]]\n            [[0.0, 0.0, 1.0, 0.0]]\n            [[0.0, 0.0, 0.0, 1.0]]\n\n        Example:\n            >>> m = MatrixType()\n            >>> m(0, 0)\n            1.0\n            >>> m(0, 1)\n            0.0\n            >>> m(1, 1)\n            1.0\n            >>> m(2, 1)\n            0.0\n            >>> m(3, 3)\n            1.0\n            >>>\n            >>> m(0)\n            (1.0, 0.0, 0.0, 0.0)\n\n        "
    if (len(item) == 1):
        return self.row(*item)
    elif (len(item) == 2):
        return self.element(*item)
    else:
        raise ValueError('Must provide either 1 or 2 coordinates, for row and element respectively')