add functions : filter, partition, template, useWith, identity, tap, explode, etc.