__repr__ must return a str or ipython gets a belly ache