=str #15755 #15756 source and sink

sorry, deleted the old branch by accident, previous discussion was at #15786 
Bah, just looked at the test cases, and then jumped here to comment on it, but have not read the actual method body  :) Really nice!