guard typing