1 comment

[ 2.8 ms ] story [ 9.1 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