Support basic functionalities on types