why assign to `ret` here instead of just `return profile` here and raising on the next block that would only execute if `profile` was not returned?