module Main where -- Definiert einen simplen container für unsere Werte data Box a = Box a deriving (Show, Eq) -- Schreibe die Unit funktion, welche einen Wert in einen Container verschachtelt! unit :: a -> Box a -- Schreibe die Bind Funktion, welches es einem Erlaubt bind :: Box a -> (a -> Box b) -> Box b -- Schreibe eine Lift Funktion, welche eine Funtion nimmt und diesselbe funktion mit den Monadischen Werten als Eigabe und Ausgabetyp besitzt lift :: (a -> b) -> Box a -> Box b -- Main Function to run tests main :: IO () main = do print $ unit 10 -- Box 10