I intentionally called it valueOf() because if we add more types (like a gml::vec3) we can overload valueOf() and get the same behavior, so you can basically just use valueOf() as a way of printing the semantic meaning of a complex type.

So, no, I don't think the type should be included.