`module Split : sig ... end`
`val from_string : string ‑> t`

Create a typename from a Java classname in the form "package.class"

`val from_package_class : string ‑> string ‑> t`

Create a typename from a package name and a class name

`val is_class : t ‑> bool`

`is_class name` holds if `name` names a Java class

`val is_external_classname : string ‑> bool`

return true if the string is in the .inferconfig list of external classes

`val is_external : t ‑> bool`

return true if the typename is in the .inferconfig list of external classes

`val get_outer_class : t ‑> t option`

Given an inner classname like C$Inner1$Inner2, return Some C$Inner1. If the class is not an inner class, return None

`val java_lang_object : t`
`val java_io_serializable : t`
`val java_lang_cloneable : t`