def principal_from_interaction(interaction):
    """
    principal_from_interaction(interaction: IInteraction) -> IPrincipal

    Find the primary :class:`IPrincipal` for the *interaction*. The primary
    principal is the principal of the first participation.
    """
    return next(iter(interaction.participations)).principal