re: source roots validating target types: That's a...
# general
b
re: source roots validating target types: That's a very easy mechanism to enforce with custom rules. I think it's totally orthogonal to source roots and doesn't belong in the same code.