Why can't I get Swift to return a value as an optional.

I have a funtion that checks if an optional contains a value and return it as an optional if it isn't:

```
var someOptional: String?

func checkIfOptional<T>(value: T?) -> (String, T) {
    if let _value = value {
        return (("Your optional contains a value. It is: \(_value)"), (_value))
    } else {
        return (("Your optional did not contain a value"), (value?)) //ERROR: Value of optional type 'T?' not unwrapped; did you mean to use '!' or '?'?
    }
}

```

When the optional is nil. Ist should return the same optional the was given to the function.
If there is a value. It should return the unwrapped value.