Ought to be generic, rather than trait object.