#line 928 "/home/travis/build/felix-lang/felix/src/packages/algebra.fdoc"
  
  class Monad [M: TYPE->TYPE] {
    virtual fun bind[a,b]: M a * (a -> M b) -> M b;
    virtual fun ret[a]: a -> M a;
  }