package haskell.prelude;

import haskell.lang.Class;

/**
 * class Bounded a
 */
public interface Bounded<A extends Bounded<A>>
        extends Class<A> {

    abstract class Support<A extends Bounded<A>> {

        /**
         * minBound :: a
         */
        public abstract A minBound();

        /**
         * maxBound :: a
         */
        public abstract A maxBound();

    }

}
