# Base._return_type in generated function

#1

The manual warns against

Interacting with the contents or methods of Core.Inference in any way.

in generated functions. Does this mean that I cannot call `Base._return_type`? What can go wrong?

Can I call a function that does the same computation for me using `Base._return_type`, but it is defined outside (and before) the generated function?

#2

The problem is that the generation can happen at any time, so `return_type` will hardcode the state of the defined methods at an arbitrary time point. I think you can still call `return_type` from inside the generated expression, i.e. the part which will be called at runtime, since it works like a normal function.