172 | | So hat-stack's considers the context in which a function is saturated to be the place where it is called. |

| 172 | So hat-stack's considers the context in which a function is saturated to be the place where it is called. To make this even more apparent we can eta-expand `e`: |

| 173 | {{{ |

| 174 | e :: [Int] -> Int |

| 175 | e x = f 10 x |

| 176 | }}} |

| 177 | Now we get this stack trace: |

| 178 | {{{ |

| 179 | Program terminated with error: |

| 180 | hd: empty list |

| 181 | Virtual stack trace: |

| 182 | (unknown) {?} |

| 183 | (J.hs:17) error "hd: empty..." |

| 184 | (J.hs:16) hd [] | case [] |

| 185 | (J.hs:9) hd [] |

| 186 | (J.hs:6) e [] |

| 187 | (unknown) d |

| 188 | }}} |

| 189 | Which is: |

| 190 | {{{ |

| 191 | d -> e -> hd |

| 192 | }}} |

| 193 | This is because `hd` now becomes saturated in the body of `e`. |