=str #15755 #15756 source and sink

sorry, deleted the old branch by accident, previous discussion was at #15786 
The second type parameter would be pure noise, we also need to consider how we want to do things in Java (and it even is not nice for Scala). We either need to document this or go the pattern matching route. Confusion can be removed by documentation, does that suffice?