I\'ve written a simple typeclass Shape:
Shape
class Shape a where draw :: a -> IO () move :: (Double,