use crate::{DeonticError, TeloidID};
pub trait Teloidable {
fn add_teloid(&mut self, id: TeloidID) -> Result<usize, DeonticError>;
fn get_teloid_id(&self, index: usize) -> Option<TeloidID>;
fn contains_teloid(&self, index: usize) -> bool;
fn add_inheritance_edge(
&mut self,
parent_idx: usize,
child_idx: usize,
) -> Result<(), DeonticError>;
fn add_defeasance_edge(
&mut self,
defeater_idx: usize,
defeated_idx: usize,
) -> Result<(), DeonticError>;
}