:: [t] -> a package:product-profunctors

A type safe generalisation of take. For example
> let count = [1..] :: [Int]
> takeT count :: Maybe (Int, Int)
Just (1,2)
> takeT count
:: Maybe (Int, Int, (Int, (Int, Int), Int, Int),
Const Int Bool, Identity (Int, Int), Tagged String Int)
Just (1,2,(3,(4,5),6,7),Const 8,Identity (9,10),Tagged 11)