<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def generate_branches(scales=None, angles=None, shift_angle=0):
 """Generates branches with alternative system. Args: scales (tuple/array):
 Indicating how the branch/es length/es develop/s from age to age. angles (tuple/array):
 Holding the branch and shift angle in radians. shift_angle (float):
 Holding the rotation angle for all branches. Returns: branches (2d-array):
 A array constits of arrays holding scale and angle for every branch. """

    branches = []
    for pos, scale in enumerate(scales):
        angle = -sum(angles)/2 + sum(angles[:pos]) + shift_angle
        branches.append([scale, angle])
    return branches