Creates a new string representing pspec.
Sets pspec's description. value's ownership is transferred to pspec (which means pspec is then responsible for freeing it when no longer needed).
Sets pspec's name. value's ownership is transferred to pspec (which means pspec is then responsible for freeing it when no longer needed).
Sets pspec's ability of being NULL. value's ownership is transferred to pspec (which means pspec is then responsible for freeing it when no longer needed).
Sets pspec's data type. value's ownership is transferred to pspec (which means pspec is then responsible for freeing it when no longer needed).