lowerToCodeDiv4 c = case lowerToCode c of
	Just n -> case evenDiv2 n of
		Just n' -> evenDiv2 n'
		Nothing -> Nothing
	Nothing -> Nothing

pipeM :: (a -> Maybe b) -> (b -> Maybe c) -> (a -> Maybe c)
(f `pipeM` g) v = case f v of
	Just x -> g x