macros for generic datatypes
wrapper functions for generic datatypes
used for testing basic functionality of library
used for benchmarking library