(re-)simplified use of variable arg list in arrow constructor
equality semantics wrapper for functions
fixes to arrow tests before implementing sets as traversables