Add 'pmap' 'pmapT' and 'pmapF'.

Also hide predicate implementations and provide constructor functions.