How should we mark up multiple types in a type field?

Some PR got merged where multiple types where marked up using | in a :type: option up of an .. attribute:: directive:

In Doc/library/tarfile.rst:

.. attribute:: TarInfo.mtime
   :type: int | float

When I initially proposed my PR, only parameters (not attributes) had such a markup.

My PR proposes to change all the |s to or.

I expected the :type: option of .. attribute:: to be parsed and interpreted exactly as the :type: and :param: options of .. class::, .. function::, and .. method::. Instead, for the former, Sphinx produces a syntax error.

Read again the OP for more context.