orIfInvalid
Return
If this position is valid, this. Otherwise, if the alternativePosition is valid, return that. Otherwise, just return this.
If this position is valid, this. Otherwise, if the alternativePosition is valid, return that. Otherwise, just return this.