transform() can return a new instance now