class Atom extends Value {

  @Override
  public boolean equals(Object other) {
    if (this == other) {
      return true;
    }
    if (!(other instanceof Atom)) {
      return false;
    }
    Atom<?> atom = (Atom<?>) other;
    return Objects.equals(value, atom.getValue());
  }

  public  Atom(T value);

}