Covered almost all builtin types except for Function