```
 let f = map tail.lines
 f "fsdaf\nfdsf\n"

```

why it work?

```
let f = map tail.tail.lines
f "fasdf\nfasdfdsfd\n"

```

I get result:

```
["asdfdsfd"]
let f = map (tail.tail).lines
f "fasdf\nfasdfdsfd\n"

```

I get result:

```
["sdf","sdfdsfd"]

```

I want to know haskell how to parse the code above.