Replacement for @raoulb pr#914

See #914

ToDo:
- [x] tests
- [x] final rebase
On Fri, Jul 18, 2014 at 05:32:50PM -0700, raoulb wrote:
>  > +        if t != None and t != self._reciprocal_of(arg):
>  > +            return 1/t
>  > +        else:
>  > +            return
> 
>    return what?

None, of course.  We should know the Python syntax, right?