TODO: check if we can drop this check, normalize should already do it