Added tuple compatibility and full currying to Functors