code: def split_backward(layers):  # pragma: no cover
      
      backward = []
      forward = [sink_return(op.begin_update, backward.append) for op in layers]
      return forward, backward
docs: Separate a sequence of layers' `begin_update` methods into two lists of
      functions: one that computes the forward values, and the other that completes
      the backward pass. The backward sequence is only populated after the forward
      functions have been applied.