+STATIC SV *lt_tag(pTHX_ SV *value) {
+#define lt_tag(V) lt_tag(aTHX_ (V))
+ lt_hint_t *h;
+ SV *code = NULL;
+ dMY_CXT;
+
+ if (SvROK(value)) {
+ value = SvRV(value);
+ if (SvTYPE(value) >= SVt_PVCV) {
+ code = value;
+ SvREFCNT_inc_simple_NN(code);
+ }
+ }
+
+#if LT_HINT_STRUCT
+ h = PerlMemShared_malloc(sizeof *h);
+ h->code = code;
+# if LT_WORKAROUND_REQUIRE_PROPAGATION
+ h->require_tag = lt_require_tag();
+# endif /* LT_WORKAROUND_REQUIRE_PROPAGATION */