internal static DeclarationException WrongType(Type desired, IDeclare actual) => new DeclarationException($"required type was: {desired} got {actual?.GetType()} instead");