assert(sexpr("a") < sexpr("b"))
assert(sexpr("a") == sexpr("a"))
assert(sexpr("a") ~= sexpr("b"))
assert(not sexpr("a"):is_cons())
assert(sexpr(10, 20):is_cons())
assert(not sexpr(10, 20):is_list())
assert(sexpr(10, 20, nil):is_list())
assert(not sexpr(10, 20):is_atom())
assert(not sexpr(10, 20):is_atom())
assert(sexpr("a"):is_atom())
assert(sexpr(mpz(10)):is_atom())
assert(sexpr("a"):is_string())
assert(not sexpr(mpz(10)):is_string())
assert(sexpr(10):is_int())
assert(not sexpr(10, 20, 30):is_int())
assert(not sexpr(10):is_name())
assert(not sexpr("a"):is_name())
assert(sexpr(name("a")):is_name())
assert(not sexpr(10):is_mpz())
assert(not sexpr(mpq(10)):is_mpz())
assert(sexpr(mpz(10)):is_mpz())
assert(not sexpr(10):is_mpq())
assert(not sexpr(mpz(10)):is_mpq())
assert(sexpr(mpq(10)):is_mpq())
check_error(function() sexpr(10):length() end)
assert(sexpr(10):to_int() == 10)