docs: def mobilized(normal_fn):
      """
      Replace a view function with a normal and mobile view.
  
      For example::
  
          def view():
              ...
  
          @mobilized(view)
          def view():
              ...
  
  
      The second function is the mobile version of view. The original
      function is overwritten, and the decorator will choose the correct
      function based on ``request.MOBILE``.
  
      """
      def decorator(mobile_fn):
          @functools.wraps(mobile_fn)
          def wrapper(*args, **kwargs):
              ctx = stack.top
              if ctx is not None and hasattr(ctx, 'request'):
                  request = ctx.request
                  if not request.MOBILE:
                      return normal_fn(*args, **kwargs)
              return mobile_fn(*args, **kwargs)
          return wrapper
      return decorator