docs: public static String print(final Literal literal) {
          return literal.match(new Literal.MatchBlock<String>() {
              @Override
              public String _case(StringLiteral x) {
                  return x.content;
              }
  
              @Override
              public String _case(FloatingPointLiteral x) {
                  return x.content;
              }
  
              @Override
              public String _case(IntegerLiteral x) {
                  return x.content;
              }
  
              @Override
              public String _case(CharLiteral x) {
                  return x.content;
              }
  
              @Override
              public String _case(BooleanLiteral x) {
                  return x.content;
              }
  
              @Override
              public String _case(NullLiteral x) {
                  return "null";
              }
          });
      }