Trying to optimize (avoid boxing ?). Buggy.