Added some lovely things from Damian Conway