foo :: Int -> Int
foo x =
  let z = y
      y = x
   in z + 100

bar :: Int -> Int
bar x =
  let z = y
      y = x
   in z
        + 100

inlineComment :: Int -> Int
inlineComment =
  let {- join -} go = case () of
                   () -> undefined
   in go

implicitParams :: (HasCallStack) => Int
implicitParams =
  let ?cs = ?callstack
   in foo cs

sitting =
  foo $
    let x = 20
     in x
