Grr. This was an undocumented mess, not an API to be frozen.