## Return to Answer

3 added 20 characters in body

Well, the thing that may or may not be a "real functor" (and which may even fail to exist if the limit(/colimit) does not always exist) is in any case a "profunctor" (that is, a functor into $Set^{C^{op}}$ (or $Set^C$ for colimits) rather than into $C$). The limit of a diagram will actually exist just in case the profunctor's value at that diagram is a representable presheaf (that is, one in the range (up to isomorphism) of the Yoneda embedding). If one makes a choice of such a representation at every diagram, one can factor the entire profunctor through the Yoneda embedding, into a genuine functor. This of course is precisely the choice you want to avoid, but it indicates that one can at least still treat the profunctor as an "anafunctor" in such cases (essentially, a functor whose value at an object/morphism is only determined up to isomorphism, in a coherent way). Further reading on profunctors and anafunctors (for example, at the nLab) may be precisely the sort of thing you are looking for.

In short: profunctors are the way to describe adjoints which may exist only partially, while anafunctors are the way to describe functors whose construction requires a number of arbitrary choices (with anafunctors both avoiding the "evil" in making any single choice and the need for the Axiom of Choice in making so many of them).

2 added 4 characters in body

Well, the thing that may or may not be a "real functor" (and which may even fail to exist if the limit(/colimit) does not always exist) is in any case a "profunctor" (that is, a functor into $Set^{C^{op}}$ (or $Set^C$ for colimits) rather than into $C$). The limit of a diagram will actually exist just in case the profunctor's value at that diagram is a representable presheaf (that is, one in the range of the Yoneda embedding). If one makes a choice of such a representation at every diagram, one can factor the entire profunctor through the Yoneda embedding, into a genuine functor. This of course is precisely the choice you want to avoid, but it indicates that one can at least still treat the profunctor as an "anafunctor" in such cases (essentially, a functor whose value at an object/morphism is only determined up to isomorphism, in a coherent way). Further reading on profunctors and anafunctors (for example, at the nLab) may be precisely the sort of thing you are looking for.

In short: profunctors are the way to describe adjoints which may or may not exist only partially, while anafunctors are the way to describe functors whose construction requires a number of arbitrary choices (with anafunctors both avoiding the "evil" in making any single choice and the need for the Axiom of Choice in making so many of them).

1

Well, the thing that may or may not be a "real functor" (and which may even fail to exist if the limit(/colimit) does not always exist) is in any case a "profunctor" (that is, a functor into $Set^{C^{op}}$ (or $Set^C$ for colimits) rather than into $C$). The limit of a diagram will actually exist just in case the profunctor's value at that diagram is a representable presheaf (that is, one in the range of the Yoneda embedding). If one makes a choice of such a representation at every diagram, one can factor the entire profunctor through the Yoneda embedding, into a genuine functor. This of course is precisely the choice you want to avoid, but it indicates that one can at least still treat the profunctor as an "anafunctor" in such cases (essentially, a functor whose value at an object/morphism is only determined up to isomorphism, in a coherent way). Further reading on profunctors and anafunctors (for example, at the nLab) may be precisely the sort of thing you are looking for.

In short: profunctors are the way to describe adjoints which may or may not exist, while anafunctors are the way to describe functors whose construction requires a number of arbitrary choices (with anafunctors both avoiding the "evil" in making any single choice and the need for the Axiom of Choice in making so many of them).
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 9, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.3, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9332231879234314, "perplexity_flag": "head"}