Functions like this one will give us good intellisense on the return type, because we parse the return type from the documentation:
b = numpy.reshape(a, 3, 5)
The equivalent member methods on the ndarray class don't have as good documentation, so we can't figure out the return type.
b = a.reshape(3, 5)
However, the documentation for it says
Refer to 'numpy.reshape' for full documentation.
So we could use that to figure out the return type of the class methods.