core/signature: not casting a scalar argument if it already has the target dtype
core/transformation_modules: casting the possible module object to string to get the prefix
cluda/dtypes: cast() now checks for dtype to avoid unnecessary casts
cluda/dtypes: normalizing dtypes before processing
cluda/dtypes: added support for multi dimensional arrays in struct dtypes