main = do
  a <- bar
  let a = b; c = d
  baz d
  let e = f
      g = h
  return c

-- single line let-where
samples n f = do
  gen <- newQCGen
  let rands g = g1 : rands g2 where (g1, g2) = split g
  return $ rands gen

trickyLet = do
  foo
  let x = 5
   in bar x
