Intro to derevo
The derevo library is written in a functional style, so classes are used
only to transfer data, all the functionality is exposed by functions which
require all of the arguments for their work.
You may want to prepare and re-use such values as available plants list and
genera cohabitation information.