add test cases from Fay
add testcases from GHC
extra test cases