transform :: (a -> b) -> [a] -> [b]
transform _ [] = []
transform f (x:xs) = f x : transform f xs
makeTpl :: a -> (a, a)
makeTpl x = (x, x)
--
test f
= print . transform f
main = do
test intStr [1,2,3]
test makeTpl "abc"
dHJhbnNmb3JtIDo6IChhIC0+IGIpIC0+IFthXSAtPiBbYl0KdHJhbnNmb3JtIF8gICBbXSAgID0gW10KdHJhbnNmb3JtIGYgKHg6eHMpID0gZiB4IDogdHJhbnNmb3JtIGYgeHMKCmludFN0ciA6OiBJbnQgLT4gU3RyaW5nCmludFN0ciB4ID0gc2hvdyB4CgptYWtlVHBsIDo6IGEgLT4gKGEsIGEpCm1ha2VUcGwgeCA9ICh4LCB4KQoKLS0KCnRlc3QgZiA9IHByaW50IC4gdHJhbnNmb3JtIGYKCm1haW4gPSBkbwoJdGVzdCBpbnRTdHIgWzEsMiwzXQoJdGVzdCBtYWtlVHBsICJhYmMiCg==