Fix type of throw
Restrict the kinds of effect types