We do have the rational dtype to fool with, an np.asarray seems to work
```
In [6]: import numpy.core.test_rational as rat

In [7]: r = rat.rational(1,2)

In [8]: asarray(r)
Out[8]: array(rational(1,2), dtype=rational)
```