module PlacePos where

data PlacePos a = PlaceTop
		| PlaceBottom 
		| PlaceBefore ! a 
                | PlaceAfter ! a
 deriving (Show,Eq)

instance Functor PlacePos where
 fmap f PlaceTop = PlaceTop
 fmap f PlaceBottom = PlaceBottom
 fmap f (PlaceBefore x) = PlaceBefore (f x)
 fmap f (PlaceAfter x) = PlaceAfter (f x)
