pure types
pure.h own header