docs: def ilumin(method, target, et, fixref, abcorr, obsrvr, spoint):
      """
      Find the illumination angles (phase, solar incidence, and
      emission) at a specified surface point of a target body.
  
      This routine supersedes illum.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/ilumin_c.html
  
      :param method: Computation method.
      :type method: str
      :param target: Name of target body.
      :type target: str
      :param et: Epoch in ephemeris seconds past J2000.
      :type et: float
      :param fixref: Body-fixed, body-centered target body frame.
      :type fixref: str
      :param abcorr: Desired aberration correction.
      :type abcorr: str
      :param obsrvr: Name of observing body.
      :type obsrvr: str
      :param spoint: Body-fixed coordinates of a target surface point.
      :type spoint: 3-Element Array of floats
      :return: Target surface point epoch, Vector from observer to target
       surface point, Phase angle, Solar incidence angle, and Emission
       angle at the surface point.
      :rtype: tuple
      """
      method = stypes.stringToCharP(method)
      target = stypes.stringToCharP(target)
      et = ctypes.c_double(et)
      fixref = stypes.stringToCharP(fixref)
      abcorr = stypes.stringToCharP(abcorr)
      obsrvr = stypes.stringToCharP(obsrvr)
      spoint = stypes.toDoubleVector(spoint)
      trgepc = ctypes.c_double(0)
      srfvec = stypes.emptyDoubleVector(3)
      phase = ctypes.c_double(0)
      solar = ctypes.c_double(0)
      emissn = ctypes.c_double(0)
      libspice.ilumin_c(method, target, et, fixref, abcorr, obsrvr, spoint,
                        ctypes.byref(trgepc),
                        srfvec, ctypes.byref(phase), ctypes.byref(solar),
                        ctypes.byref(emissn))
      return trgepc.value, stypes.cVectorToPython(
              srfvec), phase.value, solar.value, emissn.value