Haskell can only do one thing at a time... so relax
Unlike an imperative language, Haskell is purely functional. This means when you look at something, it will (a) always return the same output for certain input (b) only return output based on the input you are looking at (c) do nothing but return output.
This means each expression is Haskell is referentially transparent and stands on its own. Understand the function in an expression and you understand the expression.