Type currying
very minor details