derive-2.5.6: A program and library to derive instances for data types