role AOC { method part1(::?CLASS:U: $v) { ... } method part2(::?CLASS:U: $v) { ... } method main(::?CLASS:U:) { my \parsed = self.parse(slurp(@*ARGS[0])).made; say self.part1(parsed); say self.part2(parsed); } }