force specialisation, make runST smaller for more Case of Constructor