lib/deriving: new module `deriving` with basic interfaces