package haskell.prelude;

import haskell.lang.Class;

/**
 * class (Real a, Enum a) => Integral a
 */
public interface Integral<A extends Integral<A>>
        extends Class<A>,
                Real<A>,
                Enum<A> {

    abstract class Support<A extends Integral<A>>
            extends Real.Support<A> {

        protected Support(final java.lang.Class<A> a) {
            super(a);
        }

    }

}
