in early incarnations it was also known as template meta haskell the more you stir the more it stinks thank god for that all ways led to the same destination