BLOCKER: Issue 487

Note that this PR touches all code that deals with files and is ready for review.
Should be `tuple` unless explicit need for mutability