{-# OPTIONS_GHC -Wall -fno-warn-tabs #-} module Data.Ord.ToolsYj (clamp, Min, Max) where clamp :: Ord a => Min a -> Max a -> a -> a clamp :: forall a. Ord a => a -> a -> a -> a clamp a mn a mx a x | a x a -> a -> Bool forall a. Ord a => a -> a -> Bool < a mn = a mn | a x a -> a -> Bool forall a. Ord a => a -> a -> Bool < a mx = a x | Bool otherwise = a mx type Min a = a; type Max a = a