1 comment of 2

[ 3.0 ms ] story [ 18.5 ms ] thread
Regarding the shadowing example, you probably wouldn't write

  config <- loadConfig
  config' <- validateConfig config
  config'' <- mergeDefaults config'
in Haskell but rather

  config <- mergeDefaults =<< validateConfig =<< loadConfig