module Control.Category where
{
	import qualified Prelude;

	-- | ('.') must be associative, and 'id' must be a left and right identity for ('.').
	;
	class Category comp where
	{
		id :: comp a a;
		(.) :: comp b c -> comp a b -> comp a c;
	};

	instance Category (->) where
	{
		id = Prelude.id;
		(.) = (Prelude..);
	};
}