Add: fix routine specialization with specializable type casting.
Change: remove some restrictions on auto-casting from variant type;