Turns out the way to accomplish this was to include a single entry in my response datatype with an array for the wrapper:
'ID' => array('MemberInfo' => 'ID', 'type' => 'xsd:int'),
'NAME' => array('NAME' => array('NAME', 'type' => 'xsd:string'))
And then of course store that name info in a sub array
return array (
'ID' => $user_info->ID,
'NAME' => array(
'FIRST_NAME' => $user_info->first_name,
'LAST_NAME' => $user_info->last_name,
)
)