Or maybe even better thing would be to pick not the first, but the last parameter list (it would still have to be singleton).
Then something like this would work:
class Sequence[A](...)
...
def map(f: A => B)(s: Sequence[A]): Sequence[B] = ???
def filter(p: A => Boolean)(s: Sequence[A]): Sequence[A] = ???
...
sequence.map(plus1)
// de-sugars to `map(f)(sequence)`, since
// * `Sequence` doesn't have a member `map` and
// * `map(...)(s: Sequence[A])` is in scope
sequence.map(plus1).filter(isEven)
// de-sugars to `filter(isEven)(map(f)(sequence))`
// and these same function can also be used on their own very nicely, especially with chaining
map(plus1) andThen filter(isEven)
What would you guys think? /cc @odersky