https://blog.unity.com/technology/custom-operator-should-we-keep-it