09286504b7
For most of those the behaviour isn't set in stone, though at the moment of making that commit we're more or less sure that it's reasonable. Behaviour in some cases might be more strictly enforces (as much as you can enforce something in esoteric cases with misconfigured project sturcture). Those are marked with comments with '!'.