#line 475 "/home/travis/build/felix-lang/felix/src/packages/algebra.fdoc"
  
  class Forward[t] {
    virtual fun succ: t -> t;
    virtual proc pre_incr: &t;
    virtual proc post_incr: &t;
  }
  
  class Bidirectional[t] {
    inherit Forward[t];
    virtual fun pred: t -> t;
    virtual proc pre_decr: &t;
    virtual proc post_decr: &t;
  }