anchor.diff:  
           and evalSet propertyName propertyValueExpr relationExprOpt originOpt env =
               let context = Env.getContext env
  -            let addressAndEnvEir =
  +            let simulantAndEnvEir =
                   match relationExprOpt with
                   | Some relationExpr ->
                       let (evaledExpr, env) = eval relationExpr env
  
positive.code:                         let address = Relation.resolve context.SimulantAddress relation
                          match World.tryProxySimulant address with
                          | Some simulant -> Right (simulant, env)
                          | None -> Left (Violation ([!!"InvalidPropertyRelation"], "Relation must have 0 to 3 parts.", originOpt))
                      | _ -> Left (Violation ([!!"InvalidPropertyRelation"], "Relation must be either a string or a keyword.", originOpt))
                  | None -> Right (context, env)
              match simulantAndEnvEir with
  
negative.code:                     | Keyword (str, _) ->
                          let relation = Relation.makeFromString str
                          let address = Relation.resolve context.SimulantAddress relation
                          match World.tryProxySimulant address with
                          | Some simulant -> Right (simulant, env)
                          | None -> Left (Violation ([!!"InvalidPropertyRelation"], "Relation must have 0 to 3 parts.", originOpt))
                      | _ -> Left (Violation ([!!"InvalidPropertyRelation"], "Relation must be either a string or a keyword.", originOpt))
                  | None -> Right (context, env)
              let (propertyValue, env) = eval propertyValueExpr env
              match simulantAndEnvEir with
              | Right (simulant, env) ->
                  let world = Env.getWorld env
                  match World.tryGetSimulantProperty propertyName simulant world with
                  | Some (_, propertyType) ->
                      match Exporters.TryGetValue propertyType.Name with
                      | (true, tryExport) ->
                          match tryExport propertyValue propertyType with
                          | Some propertyValue ->
                              match World.trySetSimulantProperty propertyName (propertyValue, propertyType) simulant world with
                              | (true, world) ->
                                  let env = Env.setWorld World.choose world env
                                  (Unit originOpt, env)
                              | (false, _) -> (Violation ([!!"InvalidProperty"], "Property value could not be set.", originOpt), env)
                          | None -> (Violation ([!!"InvalidPropertyValue"], "Property value could not be exported into simulant property.", originOpt), env)
                      | (false, _) -> (Violation ([!!"InvalidPropertyValue"], "Property value could not be exported into simulant property.", originOpt), env)
                  | None -> (Violation ([!!"InvalidProperty"], "Property value could not be set.", originOpt), env)
              | Left violation -> (violation, env)
  
          and evalDefine name expr originOpt env =
  