I haven't time to finish this PR at the moment, feel free to submit changes on top of it.

that said, setting None is a problem right now on Python3

```
>>> max(1, None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: NoneType() > int()
```