note the setType is like an owned pointer, and getType() returns a linked pointer.