public static LispValue toLisp(Object obj) // TODO: Is this where we use dynatype.LispForeignObject?
  {
    if (obj == null)
      return NIL;

    if (obj instanceof LispValue)
      return (LispValue) obj;

    if (obj instanceof Integer)
      return StandardLispValue.integer(((Integer) obj).intValue());

    if (obj instanceof Long)
      return StandardLispValue.integer(((Long) obj).longValue());

    if (obj instanceof Double)
      return StandardLispValue.real(((Double) obj).doubleValue());

    if (obj instanceof Float)
      return StandardLispValue.real(((Float) obj).doubleValue());

    if (obj instanceof String)
      return string((String) obj);

/*    try
    {
      return (new LispParser(this, obj.toString(), LispParser.PRESERVE)).parse();
    } catch (Exception e)
    {
      System.err.println("Error in Jatha.toLisp(" + obj + ")");
    }*/
    return NIL;
  }