anchor.diff:              match simulantAndEnvEir with
               | Right (simulant, env) ->
                   let world = Env.getWorld env
  +                // NOTE: this sucks, having to get the property before setting it just to find out its type...
                   match World.tryGetSimulantProperty propertyName simulant world with
                   | Some (_, propertyType) ->
                       match Exporters.TryGetValue propertyType.Name with
  
positive.code:             | Phrase (phraseValue, originOpt) -> ((fns.Phrase phraseValue originOpt), env)
              | _ -> (Violation ([!!"InvalidArgumentType"; !!"Unary"; !!(String.capitalize fnName)], "Cannot apply an unary function on an incompatible value.", Expr.getOriginOpt evaledArg), env)
  
          let evalUnary fnOptOrigin fnName fns evaledArgs env =
              match evaledArgs with
              | [evaledArg] -> evalUnaryInner fnName fns evaledArg env
              | _ -> (Violation ([!!"InvalidArgumentCount"; !!"Unary"; !!(String.capitalize fnName)], "Incorrect number of arguments for application of '" + fnName + "'; 1 argument required.", fnOptOrigin), env)
  
          let evalBinaryInner fnName (fns : BinaryFns) evaledLeft evaledRight env =
              match (evaledLeft, evaledRight) with
              | (Bool (boolLeft, originLeftOpt), Bool (boolRight, originRightOpt)) -> ((fns.Bool boolLeft boolRight (combine originLeftOpt originRightOpt)), env)
              | (Int (intLeft, originLeftOpt), Int (intRight, originRightOpt)) -> ((fns.Int intLeft intRight (combine originLeftOpt originRightOpt)), env)
  
negative.code:             | [_] -> (Violation ([!!"InvalidArgumentType"; !!"List"; !!(String.capitalize fnName)], "Cannot apply " + fnName + " to a non-list.", fnOptOrigin), env)
              | _ -> (Violation ([!!"InvalidArgumentCount"; !!"List"; !!(String.capitalize fnName)], "Incorrect number of arguments for application of '" + fnName + "'; 1 argument required.", fnOptOrigin), env)
      
          let evalNth5 index fnOptOrigin fnName args env =
              match args with
              | [Tuple (evaleds, originOpt)] | [Phrase (evaleds, originOpt)] ->
                  match Map.tryFind index evaleds with
  