This is because kernel converters are required before type equality
is established, and so one needs conversion for e.g. PointC3.
That could be added and then non-fundamental types could be forbidden
in parameters of converters, but that's for another time...