docs: def build_functional(self, *pattern, **kwargs):
          """
          Builds a new functional pattern
  
          :param pattern:
          :type pattern:
          :param kwargs:
          :type kwargs:
          :return:
          :rtype:
          """
          set_defaults(self._functional_defaults, kwargs)
          set_defaults(self._defaults, kwargs)
          return FunctionalPattern(*pattern, **kwargs)