Current approaches to sequence transduction work best on short and ideally independent fragments, while source code can have complex dependencies between functions and classes.
we only extract top-level functions since they are usually small and relatively self-contained, thus we conjecture that they constitute meaningful units as individual training examples.