code: @Override
      public String marshall(Object value) {
          if( value == null ) {
              return "null";
          }
          return KieExtendedDMNFunctions.getFunction(CodeFunction.class).invoke(value).cata(justNull(), Function.identity());
      }
docs: Marshalls the given value into FEEL code that can be executed to
  reconstruct the value. For instance, here are some examples of the marshalling process:
  
  * number 10 marshalls as: 10
  * string foo marshalls as: "foo"
  * duration P1D marshalls as: duration( "P1D" )
  * context { x : 10, y : foo } marshalls as: { x : 10, y : "foo" }
  
  @param value the FEEL value to be marshalled
  
  @return a string representing the FEEL code that needs to be executed to reconstruct the value