anchor.diff:  
           let CrossFns =
               { Bool = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Cross"], "Cannot cross multiply bools.", originOpt)
  -              Int = fun left right _ -> Int ((left * right))
  -              Int64 = fun left right _ -> Int64 ((left * right))
  -              Single = fun left right _ -> Single ((left * right))
  -              Double = fun left right _ -> Double ((left * right))
  +              Int = fun left right _ -> Int (left * right)
  +              Int64 = fun left right _ -> Int64 (left * right)
  +              Single = fun left right _ -> Single (left * right)
  +              Double = fun left right _ -> Double (left * right)
                 Vector2 = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Cross"], "Cannot cross multiply 2-dimensional vectors.", originOpt)
                 String = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Cross"], "Cannot cross multiply strings.", originOpt)
                 Tuple = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Cross"], "Cannot cross multiply tuples.", originOpt)
  
positive.code:               Table = fun _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Unary"; !!"Conversion"; !!"Int"], "Cannot convert a table to an int.", originOpt) }
  
          let Int64Fns =
              { Bool = fun value _ -> Int64 ((if value then 1L else 0L))
                Int = fun value _ -> Int64 (int64 value)
                Int64 = fun value _ -> Int64 (value)
                Single = fun value _ -> Int64 (int64 value)
  
negative.code: 
          let DotFns =
              { Bool = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Dot"], "Cannot dot multiply bools.", originOpt)
                Int = fun left right _ -> Int (left * right)
                Int64 = fun left right _ -> Int64 (left * right)
                Single = fun left right _ -> Single (left * right)
                Double = fun left right _ -> Double (left * right)
                Vector2 = fun left right _ -> Single (Vector2.Dot (left, right))
                String = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Dot"], "Cannot dot multiply strings.", originOpt)
                Tuple = fun _ _ originOpt -> Violation ([!!"InvalidArgumentType"; !!"Binary"; !!"Dot"], "Cannot dot multiply tuples.", originOpt)
  