Add with_* traits