We may need to make Natural an abstract class for this to work. I know `scalac` doesn't complain, but I've hit similar problems before.