code: public R execute(final T input) {
          try {
              return execute(input, new ExecCtxImpl(null));
          } catch (final ExecutionException e) {
              throw e;
          } catch (final Exception e) {
              throw new ExecutionException(e);
          }
      }
docs: <p>
  Executes the current function on the target object. The target
  object is passed as the <tt>input</tt> parameter.
  </p>
  <p>
  Should any exceptions raise during execution, they will be
  encapsulated in an unchecked {@link ExecutionException}
  exception.
  </p>
  
  @param input the target object.
  @return the result of executing the function