can we preserve the `else` case here?