///|
pub(all) enum CutMode {
  Accurate
  Full
  Search
} derive(Eq, Debug)

///|
pub(all) struct Token {
  word : String
  start : Int
  end : Int
} derive(Eq, Debug)

///|
pub(all) suberror JiebaError {
  InvalidDictionary(message~ : String)
} derive(Eq, Debug)

///|
fn CutMode::to_core(self : CutMode) -> @core.CutMode {
  match self {
    Accurate => Accurate
    Full => Full
    Search => Search
  }
}