use core::iter::Peekable;
use elements_rs::Element;
use crate::{TokenLike, errors::ParserError};
pub(crate) trait ParsableMolecularTree<Count> {
type Token: TokenLike<Count = Count>;
type Tokens<I>: Iterator<Item = Result<Self::Token, ParserError>> + From<Peekable<I>>
where
I: Iterator<Item = char>;
fn empty() -> Self;
fn is_empty(&self) -> bool;
fn element(self, element: Element) -> Self;
}