Semantics of :: in return type vs. argument type annotations

Right, that makes sense. My point was just that a Base.convert method needs to be defined for user-defined types, which disadvantages them over primitive types. This was a counterargument that conversion of Char to Int is not the (only) thing that’s weird to me about ::, but that a convert is called to begin with.