Making good use of polymorphism I had this idea for assertion methods: class TrueClass # Assert true. # # (x == y).true! # def true! true end # Assert false. # # (x == y).false! # def false! raise "not false!" end end class FalseClass # Assert true. # # (x == y).true! # def true! raise "not true!" end # Assert false. # # (x == y).false! # def false! true end end If only the error message could say something about WHAT was not true or false, this could be pretty nifty.