anchor.diff:              let associations = converter.ConvertFromString associations.InnerText :?> string list
               Some associations
   
  -    let private getAssetExtension usingRawAssets refinements rawAssetExtension =
  -        if usingRawAssets then
  -            let builtAssetExtension =
  -                List.fold
  -                    (fun builtAssetExtension refinement ->
  -                        match refinement with
  -                        | PsdToPng -> "png"
  -                        | OldSchool -> builtAssetExtension)
  -                    rawAssetExtension
  -                    refinements
  -            builtAssetExtension
  +    let private getAssetExtension2 rawAssetExtension refinement =
  +        match refinement with
  +        | PsdToPng -> "png"
  +        | OldSchool -> rawAssetExtension
  +
  +    let private getAssetExtension usingRawAssets rawAssetExtension refinements =
  +        if usingRawAssets then List.fold getAssetExtension2 rawAssetExtension refinements
           else rawAssetExtension
   
       let private tryGetAssetExtension usingRawAssets refinements (node : XmlNode) =
           match node.Attributes.GetNamedItem ExtensionAttributeName with
           | null -> None
  -        | rawAssetExtension -> Some <| getAssetExtension usingRawAssets refinements rawAssetExtension.InnerText
  +        | rawAssetExtension -> 
  +            let extension = getAssetExtension usingRawAssets rawAssetExtension.InnerText refinements
  +            Some extension
   
       let private getAssetSearchOption (node : XmlNode) =
           match node.Attributes.GetNamedItem RecursiveAttributeName with
  
positive.code:     let refineAssetOnce intermediateFileSubpath intermediateDirectory refinementDirectory refinement =
  
          // build the intermediate file path
          let intermediateFilePath = Path.Combine (intermediateDirectory, intermediateFileSubpath)
  
          // build the refinement file path
          let refinementFileSubpath =
              match refinement with
              | PsdToPng -> Path.ChangeExtension (intermediateFileSubpath, "png")
              | OldSchool -> intermediateFileSubpath
          let refinementFilePath = Path.Combine (refinementDirectory, refinementFileSubpath)
  
          // ensure the refinement file path is valid
          ignore <| Directory.CreateDirectory ^^ Path.GetDirectoryName refinementFilePath
              
          // refine the asset
          match refinement with
          | PsdToPng ->
              use image = new MagickImage (intermediateFilePath)
  
negative.code:             image.Scale (Percentage 400)
              image.Write refinementFilePath
  
          // return the latest refinement localities
          (refinementFileSubpath, refinementDirectory)
  
      /// Apply all refinements to an asset.
  