( f "abcdef" ( 3::Int ) ( 5::Int ) == "de" ) && f "U" ( - (1::Int)) ( - (1::Int)) == "U" 
( f ( 4::Int ) [ ( 1::Int ) , ( 2::Int ) , ( 3::Int ) ] == ( 10::Int ) ) && f ( - (1::Int)) [ ] == - (1::Int)
(f "snbns" && not ( f "smns" ) ) && f  "12345" == False
(f [ ( ( 3::Int ) + ) , ( * ( 8::Int ) ) ] [ ( 2::Int ) , ( 4::Int ) ] == [ ( 5::Int ) , ( 32::Int ) ] )
(f [ ( + ( 3::Int ) ) , ( ( 4::Int ) - ) ] ( 5::Int ) == [ ( 8::Int ) , - ( 1::Int ) ] )
const True ( f :: [ Char ] ) 
f "56789" (0::Int)== '9' && f "5678910" (1::Int)== '1' 
f "abbcccbbb" == "abc" 
f "abbcccbbb" == [ "a" , "bb" , "ccc" , "bbb" ] 
f "abcd" "efgh" == "aebfcgdh" 
f "abcde" 'c' == (2::Int)
f "abcde" (2::Int)== "de" && f "abc" (1::Int)== "c" && f "1h" ( - (1::Int)) == "" 
f "asddf" == (5::Int)
f "e" (2::Int)== "ee" && f "r" (3::Int)== "rrr" 
f "ehog" "hog" && not ( f "hop" "hon" ) 
f ',' [ "kore" , "wa" , "pen" ] == "kore,wa,pen" 
f 'c' 'c' && not ( f 'g' 'h' ) 
f ( ( * ) :: Int -> Int -> Int ) [ (2::Int), (4::Int), (5::Int)] == [ (4::Int), (16::Int), (25::Int)] 
f ( (3::Int), (4::Int)) == (7::Int)
f ( * (3::Int)) [ (5::Int), (7::Int)] == [ (15::Int), (21::Int)] 
f ( - (3::Int)) == Left (3::Int)&& f (4::Int)== Right (4::Int)
f ( 7::Int ) ( 7::Int ) && not ( f ( 7::Int ) ( 6::Int ) ) 
f ( Left ( - (3::Int)) ) == (3::Int)&& f ( Right (4::Int)) == (4::Int)
f ( succ :: Int -> Int ) (1::Int)== (2::Int)
f (3::Int)"abcde" == 'd' 
f (3::Int)(5::Int)== [ (3::Int), (4::Int), (5::Int)] 
f (4::Int)== (24::Int)&& f (5::Int)== (25::Int)
f (4::Int)[ (1::Int), (2::Int), (3::Int)] == (10::Int)
f == [ (1::Int), (3::Int)] 
f True True == True && f False False == True 
f [ "ABCDE" , "DF" , "1234" , "" ] == [ "" , "DF" , "1234" , "ABCDE" ] 
f [ ( 'a' , (1::Int)) , ( 'b' , (2::Int)) ] 'b' == Just (2::Int)
f [ ( (3::Int)* ) , ( (4::Int)+ ) ] (8::Int)== [ (24::Int), (12::Int)] 
f [ ( (3::Int)+ ) , ( * (8::Int)) ] [ (2::Int), (4::Int)] == [ (5::Int), (32::Int)] 
f [ ( 6::Int ) , ( 5::Int ) , ( 5::Int ) , ( 3::Int ) , ( 6::Int ) ] == [ ( 3::Int ) , ( 5::Int ) , ( 6::Int ) ] 
f [ (1::Int), (2::Int), (1::Int), (1::Int)] ~= 0.2 
f [ (1::Int), (2::Int), (1::Int), (1::Int)] ~= [ 0.2 , 3.0 ] 
f [ (1::Int), (2::Int), (2::Int), (3::Int), (3::Int), (3::Int), (2::Int), (2::Int), (2::Int)] == [ (1::Int), (2::Int), (3::Int)] 
f [ (1::Int), (2::Int), (2::Int), (3::Int), (3::Int), (3::Int), (2::Int), (2::Int), (2::Int)] == [ [ (1::Int)] , [ (2::Int), (2::Int)] , [ (3::Int), (3::Int), (3::Int)] , [ (2::Int), (2::Int), (2::Int)] ] 
f [ (1::Int).. (5::Int)] == (4::Int)&& f [ - (2::Int), - (3::Int)] == ( - (2::Int)) 
f [ (3::Int), (4::Int)] [ (4::Int), (5::Int)] == [ (7::Int), (9::Int)] 
f [ True ] [ True ] && not ( f [ True ] [ False ] ) 
length ( f :: String ) == ( 1::Int ) 
f [3, 4.5, 7.5] ~= 5.0
f 3.54 ~= 3.5
f [3,4,0.2] ~= [9,16,0.04]
f 3.7 ~= 4
f [3, 4] [5, 6] ~= [3.5, 4.6]
