docs: def from_functions(functions) -> 'Pipeline':
          """Build a pipeline from a list of functions.
  
          :param functions: A list of functions or names of functions
          :type functions: iter[((pybel.BELGraph) -> pybel.BELGraph) or ((pybel.BELGraph) -> None) or str]
  
          Example with function:
  
          >>> from pybel.struct.pipeline import Pipeline
          >>> from pybel.struct.mutation import remove_associations
          >>> pipeline = Pipeline.from_functions([remove_associations])
  
          Equivalent example with function names:
  
          >>> from pybel.struct.pipeline import Pipeline
          >>> pipeline = Pipeline.from_functions(['remove_associations'])
  
          Lookup by name is possible for built in functions, and those that have been registered correctly using one of
          the four decorators:
  
          1. :func:`pybel.struct.pipeline.transformation`,
          2. :func:`pybel.struct.pipeline.in_place_transformation`,
          3. :func:`pybel.struct.pipeline.uni_transformation`,
          4. :func:`pybel.struct.pipeline.uni_in_place_transformation`,
          """
          result = Pipeline()
  
          for func in functions:
              result.append(func)
  
          return result