Isomorphsim from string concat to number addition
f::Int->[()]
f n = take n (repeat ()) 

f'::[()] -> Int
f' = length

main = do 
        print "Isomorphism"
        let n1 = f' [(), ()] + f' [()]
        let n2 = f' ([(), ()] ++ [()]) 
        print $ n1 == n2 

        let dd = (f 3) ++ (f 2)
        let ff = f $ 3 + 2
        print $ dd == ff

        let bb = (f' . f) 1 
        let cc = (f . f')  [()] 
        print $ dd == ff