forward.TryPeek().Match( Some: x => (Dequeue(), Some(x)),
public bool Equals(Some <A> other) => Value.Equals(other.Value);