WrapFunction
data class WrapFunction(val receiverShape: KSType, val returnShape: KSType, val sourceTypeParameter: String, val targetTypeParameter: String, val typeParameterOrder: List<String>)
One wrap overload of a return wrapper, parsed from its signature fun <S, T> wrap(source: R<S>, map: (S) -> T): W<T>.
receiverShape / returnShape are the unsubstituted R<S> / W<T>; typeParameterOrder is the declared type-parameter order, so the call site can pass explicit type arguments (which also disambiguates overloads such as wrap(S) vs wrap(Flow<S>)).