
parameter (or string (option int));
storage unit;
return string;
code { CAR;                      # Access the storage
       IF_LEFT {}                # The string is on top of the stack, nothing to do
               { IF_NONE { FAIL}  # Fail if None
                         { PUSH int 0; CMPGT; # Check for negative number
                           IF {FAIL}          # Fail if negative
                              {PUSH string ""}}}; # Push the empty string
       UNIT; SWAP; PAIR}                          # Calling convention
