       guard let action = actionMap[key] else {
         return ParsingError(message: "Can't parse key '\(key)'") }
 
-      let error = action(valueYaml)
-      if error != nil { return error }
+      if let error = action(valueYaml) {
+        return error
+      }
     }// for
 
     return nil

      return ParsingError(message: "Invalid target type; expected string")
    }

    guard let type = TargetType.fromString(typeString) else {
      return ParsingError(message: "Invalid target type '\(typeString)'")
    }


  case Executable
  case Framework
  case Module

  init?(string: String) {
    switch string.lowercaseString {
      case "unknown":    self = .Unknown
      case "executable": self = .Executable
      case "framework":  self = .Framework
      case "module":     self = .Module
      default:           return nil
    }
  }

  var description: String {
    switch self {
