Handle expression template args by not fwd declaring anything.
Fix error message to print not the type (we know it) but the arg kind.
Be more specific in error message.
Also fwd declare the underlying type of typedefs.