protected namespace from compositions
reduce function
reduce function sets default first
filter freeze result
apply args to map
reduce arguments list
reduce added to top namespace in tests
generalised reduce test function