Asking in the forum is not an issue, but what miran said is that he feels like
you might be trying to solve your issue at a low level while we could solve the
actual bigger problem. (correct me if I'm wrong @miran).
1\. Auto and Any type for input params are usually not needed, using a generic
T is recommended instead. That also makes documentation much more clear.
2\. Proc resolve their type at compile-time, there is no runtime types for
proc, you need to use methods for that.
Instead you can use what @demotomohiro proposed or :
proc foo[T](a: T) =
when a is int: doInt()
elif float: doFloat()
else: doElse()
Run
3\. For runtime types and containers of heterogeneous types (which is the
bigger problem) we actually covered it in your other thread ["Is there an
untyped list"](https://forum.nim-lang.org/t/4233).