/// <summary>
/// An abstraction representing anything with a name and a type.
/// </summary>
public interface IIdentifier
{
/// <summary>
/// A string that determines how an identifier is being referred to in code.
/// </summary>
string Name { get; }
/// <summary>
/// The type associated with the identifier.
/// </summary>
/// <remarks>
/// For a field or a variable identifier, this is the variable's type.