The underscores are related to templates nodes in APEX aka all the nodes that look like nodename<Float> for example. Apex always wants to know on what kind of data you operate on because its a fixed type system. In apex script we can usually figure out that type based on what you are doing. If the type can not be figured out you need to give it a hint.
so
is then the same as
When you look at a graph with NODES. So the underscore is the absolute bare bone fallback option, when we really have nothing to work with to figure out what the type should be. Ideally you need to use it almost never. Another and much more pythonic way of giving a type hint is
nodename(valuetype=Float)
The daily build that is about to come out will handle a lot more of those cases automatically for you btw.
So
geo.setPrimAttribValue(prim, 'name', 'test')
should do the trick then. Yay.
The convert case is one of the few functions that actually does not just need one but 2 types. Which makes it much trickier to automatically fetch. We can look into a more specialized handing for that one. the trailing underscore is also an inconsistency that we can look into.