This allows defining custom types