Properly inline methods (http://www.parashift.com/c++-faq-lite/inline-functions.html#faq-9.9) Species::validate() gives a (possible) noreturn option (???)