It's notable, however, that CoreGraphics does exactly what I talked about in the pitch thread as a minimum for a well-designed graphics API: it provides distinct types for vectors (CGVector
) and coordinates (CGPoint
) rather than conflating them just because they both happen to be two-dimensional.
This sort of thing is exactly why I believe that the type described here is primarily going to be used as an internal implementation detail of other first-class abstractions rather than as something that will see much direct use.