+1 to the exception. With respect to "pythonism", I would say that this is more pythonic than creating a 3-state boolean type.
And I would like to raise attention this current, related sage-support discussion: https://groups.google.com/forum/#!topic/sage-support/JOA8JqgXJQA -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/groups/opt_out.