partially applied
starting type classes