message: added bitcasts to GeoVector2
diff: @@ -629,7 +629,7 @@ namespace NovelRT::Maths
  inline GeoVector2F& operator-=(GeoVector2F other) noexcept
  {
  *reinterpret_cast<glm::vec2*>(this) =
  - *reinterpret_cast<const glm::vec2*>(this) - *reinterpret_cast<const glm::vec2*>(&other);
  + *reinterpret_cast<const glm::vec2*>(this) - NovelRT::Utilities::Misc::BitCast<glm::vec2>(other);
  return *this;
  }
  @@ -667,7 +667,7 @@ namespace NovelRT::Maths
  inline GeoVector2F operator*=(GeoVector2F other) noexcept
  {
  *reinterpret_cast<glm::vec2*>(this) =
  - *reinterpret_cast<const glm::vec2*>(this) * *reinterpret_cast<const glm::vec2*>(&other);
  + *reinterpret_cast<const glm::vec2*>(this) * NovelRT::Utilities::Misc::BitCast<glm::vec2>(other);
  return *this;
  }
  @@ -705,7 +705,7 @@ namespace NovelRT::Maths
  GeoVector2F operator/=(GeoVector2F other) noexcept
  {
  *reinterpret_cast<glm::vec2*>(this) =
  - *reinterpret_cast<const glm::vec2*>(this) / *reinterpret_cast<const glm::vec2*>(&other);
  + *reinterpret_cast<const glm::vec2*>(this) / NovelRT::Utilities::Misc::BitCast<glm::vec2>(other);
  return *this;
  }
  @@ -905,10 +905,9 @@ namespace NovelRT::Maths
  void RotateToAngleAroundPointRad(float angleRotationValue, GeoVector2F point) noexcept
  {
  *reinterpret_cast<glm::vec2*>(this) =
  - glm::rotate((*reinterpret_cast<glm::vec2*>(this) = *reinterpret_cast<const glm::vec2*>(this) -
  - *reinterpret_cast<const glm::vec2*>(&point)),
  + glm::rotate((*reinterpret_cast<const glm::vec2*>(this) - NovelRT::Utilities::Misc::BitCast<glm::vec2>(point)),
  angleRotationValue) +
  - *reinterpret_cast<const glm::vec2*>(&point);
  + NovelRT::Utilities::Misc::BitCast<glm::vec2>(point);
  }
  /**
  @@ -923,8 +922,8 @@ namespace NovelRT::Maths
  bool EpsilonEquals(GeoVector2F other, GeoVector2F epsilonValue) const noexcept
  {
  return glm::all(glm::equal(*reinterpret_cast<const glm::vec2*>(this),
  - *reinterpret_cast<const glm::vec2*>(&other),
  - *reinterpret_cast<const glm::vec2*>(&epsilonValue)));
  + NovelRT::Utilities::Misc::BitCast<glm::vec2>(other),
  + NovelRT::Utilities::Misc::BitCast<glm::vec2>(epsilonValue)));
  }
  /**
  @@ -952,7 +951,7 @@ namespace NovelRT::Maths
  */
  inline float Dot(GeoVector2F other) noexcept
  {
  - return glm::dot(*reinterpret_cast<const glm::vec2*>(this), *reinterpret_cast<const glm::vec2*>(&other));
  + return glm::dot(*reinterpret_cast<const glm::vec2*>(this), NovelRT::Utilities::Misc::BitCast<glm::vec2>(other));
  }
  /**
  @@ -989,7 +988,7 @@ namespace NovelRT::Maths
  inline float Distance(GeoVector2F other) noexcept
  {
  return glm::distance(*reinterpret_cast<const glm::vec2*>(this),
  - *reinterpret_cast<const glm::vec2*>(&other));
  + NovelRT::Utilities::Misc::BitCast<glm::vec2>(other));
  }
  /**
  