Mainly to avoid code rot by future changes, this probably cannot remain as it is if MP gets reimplemented.