docs: def chosen_angle_to_canonical_half_turns(
          half_turns: Optional[Union[sympy.Basic, float]] = None,
          rads: Optional[float] = None,
          degs: Optional[float] = None,
          default: float = 1.0,
  ) -> Union[sympy.Basic, float]:
      """Returns a canonicalized half_turns based on the given arguments.
  
      At most one of half_turns, rads, degs must be specified. If none are
      specified, the output defaults to half_turns=1.
  
      Args:
          half_turns: The number of half turns to rotate by.
          rads: The number of radians to rotate by.
          degs: The number of degrees to rotate by
          default: The half turns angle to use if nothing else is specified.
  
      Returns:
          A number of half turns.
      """
      return canonicalize_half_turns(
              chosen_angle_to_half_turns(
                  half_turns=half_turns,
                  rads=rads,
                  degs=degs,
                  default=default))