Captured type might be substituted in an opposite projection
 out Captured (in Int) = out Int
 in Captured (out Int) = in Int
Minor: fixed toString