myTakeWhile_rec :: (a -> Bool) -> [a] -> [a]
myTakeWhile_rec f (a:as) | f a = a : myTakeWhile_rec f as
myTakeWhile_rec :: (a -> Bool) -> [a] -> [a]
myTakeWhile_rec f (a:as) | f a = a : myTakeWhile_rec f as
myTakeWhile_rec f (a:as) | f a = a : myTakeWhile_rec f as