The FunctorM library