I’m trying to write some meta-code and I found that : operator return type is inconsistent:
> typeof(:(x)), typeof(:(1)) (Symbol,Int64)
I would expect the result of : to be always Expr, but it doesn’t seem to be true for literal expressions.
Is this by design? How do I pass literal expressions to functions that expect Expr?